2016-09-02 9 views
7

std :: make_unique <T[]> (आकार) मूल्य-प्रारंभ

std::make_unique<double[]>(1000) 

allways तत्वों मूल्य आरंभ कर देता है? ठीक है, मैं कार्यान्वयन और clang में देखा के रूप में अच्छी तरह से g++ के रूप में कर रही मूल्य प्रारंभ

new T[size]() 

उपयोग कर रहे हैं।

लेकिन मुझे यह नहीं पता कि सी ++ 14/17 का एक अनुरूप कार्यान्वयन है।

उत्तर

8

मानक पुस्तकालय सी ++ 14 के अनुरूप है, तो हाँ यह है इस (new T[size] उपयोग) करने के लिए।

template <class T> unique_ptr<T> make_unique(size_t n);

  • रिटर्न: unique_ptr<T>(new remove_extent_t<T>[n]()) सी ++ 14 §20.8.1.4 [unique.ptr.create]/4 से।
संबंधित मुद्दे