LINUX.ORG.RU

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

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

но в итоге то:

| And, yes, my recomendation is to use std::vector by default. More generally, use a |contiguous representation unless there is a good reason not to. Like C, C++ is designed |to do that by default.

|Выше по треду я привел пример, когда векторы являются самым худшим |вариантом из возможных.

без большего контекста о задаче, похоже что хэшмап лучше всего подойдёт- если часто надо вставлять удалять- самое то, и многопоточности это никак не мешает; и в общем, прямо вот на одномерном векторе никто и не зацикливается, у нас ещё дохрена вариантов: вектор векторов или векдеков или хэшмапов или наоборот, что больше подойдет под задачу. И вот только после тщательных измерений, если каким-то чудом это всё не подойдёт, мы делаем специализированный контейнер возможно и с тщательно проверенными указателями внутри и с безопасными торчащими наружу индексами.

|Список в таком случае выигрывает целиком и полностью.

неа, реально мерять надо

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

но в итоге то:

| And, yes, my recomendation is to use std::vector by default. More generally, use a |contiguous representation unless there is a good reason not to. Like C, C++ is designed |to do that by default.

|Выше по треду я привел пример, когда векторы являются самым худшим |вариантом из возможных.

без большего контекста о задаче, похоже что хэшмап лучше подойдёт- если часто надо вставлять удалять- самое то, и многопоточности это никак не мешает; и в общем, прямо вот на одномерном векторе никто и не зацикливается, у нас ещё дохрена вариантов: вектор векторов или векдеков или хэшмапов или наоборот, что больше подойдет под задачу. И вот только после тщательных измерений, если каким-то чудом это всё не подойдёт, мы делаем специализированный контейнер возможно и с тщательно проверенными указателями внутри и с безопасными торчащими наружу индексами.

|Список в таком случае выигрывает целиком и полностью.

неа, реально мерять надо

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

но в итоге то: | And, yes, my recomendation is to use std::vector by default. More generally, use a |contiguous representation unless there is a good reason not to. Like C, C++ is designed |to do that by default.

|Выше по треду я привел пример, когда векторы являются самым худшим |вариантом из возможных.

без большего контекста о задаче, похоже что хэшмап лучше подойдёт- если часто надо вставлять удалять- самое то, и многопоточности это никак не мешает; и в общем, прямо вот на одномерном векторе никто и не зацикливается, у нас ещё дохрена вариантов: вектор векторов или векдеков или хэшмапов или наоборот, что больше подойдет под задачу. И вот только после тщательных измерений, если каким-то чудом это всё не подойдёт, мы делаем специализированный контейнер возможно и с тщательно проверенными указателями внутри и с безопасными торчащими наружу индексами.

|Список в таком случае выигрывает целиком и полностью.

неа, реально мерять надо