Re[2]: Шаблон мультиварианта.
От: Went  
Дата: 24.02.19 18:44
Оценка:
Здравствуйте, _NN_, Вы писали:
_NN>Экономить на int и так не получится без ущерба производительности, обычно размер int равен или меньше размера указателя.
Ну, про int я писал как пример, а в реале — это небольшие структуры: пары векторов, контейнеры, но иногда неожиданно большие вещи.
_NN>Чем собственно не подходит вариант unique_ptr<string> ?
Потому что уник на каждую структуру потребует по указателю на каждый член варианта и будет выделять в лоб место в куче под каждую мелочь. Мой же умозрительный мультивариант обойдется (в простейшем случае) всего лишь одной битовой маской присутствия членов (да, ограничение на 32 или 64 члена) + указатель на начало буфера. И добавление новых членов в этот мультивариант будет иметь нулевые издержки по памяти, но, очевидно, линейно нарастающую сложность для доступа к члену (каждый следующий член будет требовать на 1 сложение больше).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.