Это для производительности (локальность кэша, снижение аталяции). Я стремлюсь к решению, которое приводит к одному одному вызову выделения для этих двух объектов.
Код: Выделить всё
struct DataContainer {
int* val1;
float* val2;
};
Код: Выделить всё
new int[2]
Код: Выделить всё
new int; new float;
Код: Выделить всё
void* raw_memory = allocate_two_objects_of_different_types();
int* p_int = get_first_object_from_raw_memory(raw_memory);
float* p_float = get_second_object_from_raw_memory(raw_memory);
*p_int = 10;
*p_float = 20.5f;
deallocate_raw_memory(raw_memory);
Подробнее здесь: https://stackoverflow.com/questions/796 ... mory-block