哪个是正确的:矢量<常量字符串>或常量矢量<string>?

Which is correct: vector<const string> OR const vector<string>?

本文关键字:gt 常量 lt string 字符串 矢量      更新时间:2023-10-16

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

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

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

如果您不介意编译错误(无论是在GCC4.8还是在Clang上),则可能是由于const std::string不符合CopyAssign的要求(C 11之前)或MoveAseSignable(因为C 11),尽管显然,这主要是因为它不是Destructible,但使用std::vector<const std::string>