std::vector v1(1000);
std::vector v2(1000);
std::vector v3(1000);
< /code>
Как инициализируются элементы этих 3 векторов? Я верил, что примитивы остаются неопределенными. Я создаю вектор с элементами 300000000, даю ненулевые значения, удаляю его и воссоздаю его, чтобы избежать четкой памяти ОС для безопасности данных. Элементы воссозданного вектора тоже были 0. < /P>
А как насчет итератора? Есть ли начальное значение (0) для конструктора по умолчанию или начального значения остается неопределенным? Когда я проверяю это, итераторы указывают на 0, но это может быть OS < /p>
Когда я создаю специальный объект для отслеживания конструкторов, я увидел это для первого объекта, вектор запустите конструктор по умолчанию, а для всех остальных он запускает конструктор копирования. Это стандарт? < /P>
Есть ли способ полностью избежать инициализации элементов? Или я должен создать свой собственный вектор? (Боже мой, я всегда не говорю о другой векторной реализации)
Я спрашиваю, потому что я использую ультра огромные разреженные матрицы с параллельной обработкой, поэтому я не могу использовать push_back (), и, конечно, я не хочу бесполезной инициализации, когда позже я изменю значение. < /P>
Подробнее здесь: https://stackoverflow.com/questions/109 ... itializing
Std :: векторные элементы инициализируют ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Std :: cout ошибочное поведение при попытке печатать std :: векторные элементы [дублировать]
Anonymous » » в форуме C++ - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-