如何在C++中使用构造函数初始化列表来初始化(字符串)数组或向量?
请考虑以下示例,其中我想使用传递给构造函数的参数来初始化字符串数组:
#include <string>
#include <vector>
class Myclass{
private:
std::string commands[2];
// std::vector<std::string> commands(2); respectively
public:
MyClass( std::string command1, std::string command2) : commands( ??? )
{/* */}
}
int main(){
MyClass myclass("foo", "bar");
return 0;
}
此外,在创建对象时保存两个字符串,哪种类型(array vs vector)更受推荐?为什么?
Myclass m = {"hello", "world"};
还是指Myclass(const std::string& c1, const std::string& c2) : commands{c1, c2}{}
? - thokra