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