cpp
1#include <iostream> 2#include <vector> 3#include <string> 4#include <memory> 5#include <utility> 6 7using namespace std; 8 9class X{}; 10 11int main() 12{ 13 //vector<unique_ptr<X>> vec(100, nullptr); // コピーコンストラクタが呼ばれる 14 15 vector<unique_ptr<X>> vec(100); // こう書くしかない? 16 for (size_t i = 0; i < vec.size(); i++) vec.at(i) = nullptr; 17}
以上のように記述するとvector初期化時にコピーコンストラクタが呼ばれてしまいます。
より良い初期化方法がございましたら教えていただきたいです。ループさせるのをやめて短く書きたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/07 04:04
2020/01/07 04:17
2020/01/07 05:10
2020/01/07 05:33
2020/01/07 06:40 編集
2020/01/07 07:20