簡體   English   中英

具有大小的向量的類內初始化

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM