哪个是正确的:vector <const string =“”> OR const vector <string>?</string> </const>

时间:2014-01-26 15:32:55

标签: c++ vector

哪个是正确的:vector<const string>const vector<string>?

我想创建std::vector std::string个,我不会对其进行更改。 但我不确定这两种方式中的哪一种更好,为什么。

1 个答案:

答案 0 :(得分:18)

如果您唯一的选择是那两个并且您希望程序编译,请使用const std::vector<std::string>

如果您不介意编译错误(GCC4.8Clang),可能是由于const std::string不符合CopyAssignable的要求(在C ++之前11)或MoveAssignable(自C ++ 11以来),即使apparently,主要是因为它不是Destructible,使用std::vector<const std::string>

相关问题