индекс, указатель, итератор, что лучше? когда дело доходит до векторов - PullRequest
0 голосов
/ 25 февраля 2010

привет, я делаю программу, которая требует высокой производительности обработки векторных элементов

vector<Class_A> object ;

1 - какой из них самый быстрый для доступа к элементам 2- который более прост и не сложен в работе с кодом

индекс? итератор? указатель?

Ответы [ 2 ]

1 голос
/ 25 февраля 2010

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

Все это говорит о том, что я, вероятно, пойду с итератором, так как при необходимости проще перейти на другой тип контейнера.

0 голосов
/ 25 февраля 2010

Если вы включили встраивание и не выполняете проверку диапазона индекса, вероятно, все они будут примерно одинаковыми. Помимо микрооптимизации это, вероятно, ничего не даст, вам нужно оптимизировать глобально. сначала профилируйте свой процесс и нацеливайтесь на самые медленные части

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...