7
はのstd :: make_unique <T[]>(サイズ)値初期化
std::make_unique<double[]>(1000)
オールウェイズ要素を値初期化していますか?まあ、私は実装に見て、clang
などg++
は値初期化を行う
new T[size]()
を使用しています。
しかし、私はC++ 14/17 に準拠する実装がこれを行うためにを持っていることがわかりません。
はのstd :: make_unique <T[]>(サイズ)値初期化
std::make_unique<double[]>(1000)
オールウェイズ要素を値初期化していますか?まあ、私は実装に見て、clang
などg++
は値初期化を行う
new T[size]()
を使用しています。
しかし、私はC++ 14/17 に準拠する実装がこれを行うためにを持っていることがわかりません。
標準ライブラリがC++ 14に準拠している場合は、にがあります(new T[size]
を使用)。 C++ 14§20.8.1.4[unique.ptr.create]/4:
template <class T> unique_ptr<T> make_unique(size_t n);
- 戻り:
unique_ptr<T>(new remove_extent_t<T>[n]())
。