Std :: векторные элементы инициализируютC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Std :: векторные элементы инициализируют

Сообщение Anonymous »

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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»