[英]In-class initialization of vector with size
struct Uct
{
std::vector<int> vec{10};
};
上面的代碼創建了包含值為 10 的單個元素的向量。但我需要初始化大小為 10 的向量。 像這樣:
std::vector<int> vec(10);
如何通過課堂初始化來做到這一點?
我認為有2個答案:
std::vector<int> vec = std::vector<int>(10);
如評論中所述,並且:
std::vector<int> vec{0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
這不太可取,因為它的可讀性較低且以后更難調整,但我認為它更快(在 c++17 之前),因為它不會像評論中所說的那樣調用移動構造函數。
話雖Uct(): vec(10){};
也是具有相同屬性的完全可行的選擇(我認為)。
你可以直接使用
std::vector vec(10,0) 得到一個所有元素都等於 0 的 10 元素向量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.