目前是这样写的,感觉比较繁琐。 int N =5; vector<string>a; a.reserve(N); for(int i = 0; i < N;i++) { a.push_back(""); }
1
ligiggy Jul 16, 2022
std::vector<std::string> a(5,"");
|
2
ligiggy Jul 16, 2022
多逛逛这个网站,https://en.cppreference.com/w/
|
3
qaweqa Jul 16, 2022
都知道用 reserve 了,不知道用 resize?
|
4
flmwswd Jul 16, 2022
vector<string> vec(<your number>,<init val>).
|
5
microxiaoxiao OP @qaweqa 哈哈 主要是菜,resize 可以的。主要是没有绕过弯弯。再请教一下,vector<string>a; a.resize(N); 是不是意味着所有 N 元素都初始化为空串了?
|
6
kilasuelika Jul 16, 2022 via Android
@microxiaoxiao 是的,默认初始化。
|
7
nightwitch Jul 17, 2022
resize 会调用默认构造函数
|