我正在開發一個建造記錄的類(具有固定數量的字段)。我的公共方法允許用戶按索引插入各個值。沒有要求用戶填寫全部字段 - 所以我想預先分配代表記錄的矢量到準確的大小,每個字段初始化爲空字符串。C++實例std :: vector <std::string>具有固定數量的空字符串
有沒有比使用後退循環更容易做到這一點的方法?
我正在開發一個建造記錄的類(具有固定數量的字段)。我的公共方法允許用戶按索引插入各個值。沒有要求用戶填寫全部字段 - 所以我想預先分配代表記錄的矢量到準確的大小,每個字段初始化爲空字符串。C++實例std :: vector <std::string>具有固定數量的空字符串
有沒有比使用後退循環更容易做到這一點的方法?
事情是這樣的:
std::vector<std::string> v(N);
其中N
是弦數。這將創建一個包含N
空字符串的向量。
您只需選擇矢量類的標準構造函數之一,即輸入中接收的元素數量(使用默認構造函數生成,它將是一個空字符串,用於std::string
),您希望從一開始就放入你的矢量。
int N = 10;
std::vector<std::string> myStrings(N);
您也可以將所有的字符串初始化爲不同的值,一個空字符串,例如:
int N = 10;
std::vector<std::string> myStrings(N,std::string("UNINITIALIZED"));
文檔: http://www.cplusplus.com/reference/vector/vector/vector/
您可能也有興趣看這樣的: Initializing an object to all zeroes
閱讀std :: vector的文檔並尋找構造函數! –