Почему valarray не имеет функции подкачки, такой как вектор в С++ 03?

Как название, я смущен этим. swap должен быть чрезвычайно полезным, если мы сталкиваемся с итеративной проблемой. Старый вектор и новый вектор можно заменить, заменив указатель на память вместо содержимого. Однако это справедливо в std::vector, но не в std::valarray. Мне интересно, почему. В С++ 0x кажется, что функция добавлена, но почему не в С++ 03?

Ответ 1

Потому что это не так.

Я сомневаюсь, что есть гораздо лучший ответ. Ошибки и ошибки происходят (см. Также std::vector::resize, принимая второй аргумент по значению, отсутствующий алгоритм std::copy_if и очень длинный список закрытых дефектов стандартной библиотеки).

Хорошо, что язык продолжает развиваться и ошибки, подобные этому, могут быть исправлены в будущих версиях спецификации языка (например, С++ 0x).

Ответ 2

Потому что вы не предложили его языковому комитету.

Как только вы построите машину времени и доставьте свой запрос достаточно далеко до даты публикации стандартной публикации, чтобы он был включен, С++ 03 также будет иметь его.