哪个是正确的:vector<const string>
或const vector<string>?
我想创建std::vector
std::string
个,我不会对其进行更改。
但我不确定这两种方式中的哪一种更好,为什么。
答案 0 :(得分:18)
如果您唯一的选择是那两个并且您希望程序编译,请使用const std::vector<std::string>
。
如果您不介意编译错误(GCC4.8和Clang),可能是由于const std::string
不符合CopyAssignable的要求(在C ++之前11)或MoveAssignable(自C ++ 11以来),即使apparently,主要是因为它不是Destructible
,使用std::vector<const std::string>
。