Russian Qt Forum

Qt => Общие вопросы => Тема начата: Zmey от Июль 29, 2005, 11:27



Название: QValueVector<?>
Отправлено: Zmey от Июль 29, 2005, 11:27
Как создать вектор, элементами которого являются массивы из 4 чисел int? Или может предложите сделать как-нить иначе, задача такая: нужно сохранять в какую-то структуру данных массивы int[4], сколько их будет неизвестно.


Название: QValueVector<?>
Отправлено: lepsai от Июль 29, 2005, 11:56
змея, мля, ты чё. перегрелся такие вопросы задавать :)

Код:

// array on heap, typdef int[4] block sucks...
struct Block
{
Block()
{
block = new int[4];
}

Block(const Block & b)
{
block = new int[4];
memcpy(block, b.block,4 * sizeof(int) );
}

~BlocK()
{
delete [] block;
}

Block & operator = (const Block & b){
{
memcpy(block, b.block, 4 * sizeof(int) );
return *this;
}



  int * block;
};

ValueVactor<Block> vBlocks;

[/code]


Название: QValueVector<?>
Отправлено: Zmey от Июль 29, 2005, 14:22
Круто! Спасибо мэн! :)


Название: QValueVector<?>
Отправлено: Sergeich от Июль 29, 2005, 15:48
ИХМО лучше в стеке память хватать, если элементов много тормоза будут нам вызовах new


Название: QValueVector<?>
Отправлено: lepsai от Июль 29, 2005, 16:14
стек весьма конечен, так что туды много не влезет. Можно конечно раздвинуть, но это не подxод


Название: QValueVector<?>
Отправлено: Zmey от Август 01, 2005, 08:41
Цитата: "Sergeich"
ИХМО лучше в стеке память хватать, если элементов много тормоза будут нам вызовах new

Как это сделать?


Название: QValueVector<?>
Отправлено: lepsai от Август 01, 2005, 09:03
Код:

struct Block
{
Block()
{
}

Block(const Block & b)
{
memcpy(block, b.block,4 * sizeof(int) );
}

~BlocK()
{
}

Block & operator = (const Block & b){
{
memcpy(block, b.block, 4 * sizeof(int) );
return *this;
}



  int block[4];
};

ValueVactor<Block> vBlocks;