LINUX.ORG.RU

История изменений

Исправление AntonI, (текущая версия) :

Присвоение со ссылкой и не будет работать, потому что ссылку инициализируют во время создания, по другому синтаксис не позволит. М.б. emplace и поможет, но в любом случае оно выглядит криво по сравнению с std::map<int, AnyS*>.

А вообще ЯННП зачем такие сложности. Возникает смутное ощущение что можно как то сильно проще, но нужна вменяемая формулировка задачи;-)

ЗЫ если три контейнера с пойнтерами разобранными по типам, то вот так гораздо более прямо:

std::vector<AnyS> input;

std::vector<AnyS*> type0, type1, type2; 
// или даже так
std::vector<int> type0, type1, type2; 

std::vector::push_back работает несоизмеримо быстрее чем добавление в std::map, map оправдан только если индексы разрежены и нужен поиск по индексу. Да и обход вектора работает быстрее.

Исправление AntonI, :

Присвоение со ссылкой и не будет работать, потому что ссылку инициализируют во время создания, по другому синтаксис не позволит. М.б. emplace и поможет, но в любом случае оно выглядит криво по сравнению с std::map<int, AnyS*>.

А вообще ЯННП зачем такие сложности. Возникает смутное ощущение что можно как то сильно проще, но нужна вменяемая формулировка задачи;-)

ЗЫ если три контейнера с пойнтерами разобранными по типам, то вот так гораздо более прямо:

std::vector<AnyS> input;

std::vector<AnyS*> type0, type1, type2; 
// или даже так
std::vector<int> type0, type1, type2; 

std::vector::push_back работает несоизмеримо быстрее чем добавление в std::map, map оправдан только если индексы разрежены и нужен посих по индексу. Да и обход вектора работает быстрее.

Исправление AntonI, :

Присвоение со ссылкой и не будет работать, потому что ссылку инициализируют во время создания, по другому синтаксис не позволит. М.б. emplace и поможет, но в любом случае оно выглядит криво по сравнению с std::map<int, AnyS*>.

А вообще ЯННП зачем такие сложности. Возникает смутное ощущение что можно как то сильно проще, но нужна вменяемая формулировка задачи;-)

ЗЫ если три контейнера с пойнтерами разобранными по типам, то вот так гораздо более прямо:

std::vector<AnyS> input;

std::vector<AnyS*> type0, type1, type2; 

std::vector::push_back работает несоизмеримо быстрее чем добавление в std::map, map оправдан только если индексы разрежены и нужен посих по индексу. Да и обход вектора работает быстрее.

Исправление AntonI, :

Присвоение со ссылкой и не будет работать, потому что ссылку инициализируют во время создания, по другому синтаксис не позволит. М.б. emplace и поможет, но в любом случае оно выглядит криво по сравнению с std::map<int, AnyS*>.

А вообще ЯННП зачем такие сложности. Возникает смутное ощущение что можно как то сильно проще, но нужна вменяемая формулировка задачи;-)

ЗЫ если три контейнера с пойнтерами разобранными по типам, то вот так гораздо более прямо:

std::vector<AnyS> input;

std::vector<AnyS*> type0, type1, type2; 

std::vector::push_back работает несоизмеримо быстрее чем добавление в std::map, map оправдан только если индексы разрежены и нужен посих по индексу.

Исправление AntonI, :

Присвоение со ссылкой и не будет работать, потому что ссылку инициализируют во время создания, по другому синтаксис не позволит. М.б. emplace и поможет, но в любом случае оно выглядит криво по сравнению с std::map<int, AnyS*>.

А вообще ЯННП зачем такие сложности. Возникает смутное ощущение что можно как то сильно проще, но нужна вменяемая формулировка задачи;-)

Исходная версия AntonI, :

Присвоение со ссылкой и не будет работать, потому что ссылку инициализируют во время создания, по другому синтаксис не позволит. М.б. emplace и поможет, но в любом случае оно выглядит криво по сравнению с std::map<int, AnyS*>.

А вообще ЯННП не понял зачем такие сложности. Возникает смутное ощущение что можно как то сильно проще, но нужна вменяемая формулировка задачи;-)