В [Объектах с инициализацией значения в конструкторе С++ 11 и std::vector Channel72 спрашивает,
Вопрос: Является ли мое понимание правильным здесь? Является ли явный std::vector (size_type count) неинициализированным массивом (аналогично malloc), если T является POD?
Ответ - нет.
Мой вопрос: "Ладно, что?"
Один из ответов, написанный Невином, подсказывает мне ответить на мой вопрос. Чтобы уточнить, мой вопрос: Есть ли способ использовать std::vector <double> без его бесплатного заполнения выделенной памяти нулями или чем-то еще?
Я не прошу обходных решений, например, запускает вектор с нулевым размером и использует push_back(). Это не всегда возможно, и, кроме того, на этом этапе я хочу, чтобы это выяснилось не по какой-либо другой причине, чем я хочу понять.
Я не могу получить предложение Nevin, пользовательский распределитель, для компиляции. VС++ 2017rc (Dinkum) жалуется своим обычным непостижимым способом. Что-то о std:: _ Wrap_alloc. Код Невина является неполным, и я, вероятно, не знаю, как его завершить. Прежде чем я увидел его, я написал свой собственный распределитель, который, похоже, работает, но я не уверен в своем понимании, чтобы поклясться в этом.
В то время, когда я размышлял над этим, я мог бы написать менее догматическую замену std::vector, а также несколько глав Великого американского романа.