你好 C++ 程序员。我希望成为一个关于 STL 容器的快速问题:
std::list<std::string> l;
此语句在某些 C++ 源文件(带有适当的包含)中使用时编译得很好。但
std::list<const std::string> m;
或者
std::list<std::string * const> n;
使用 gcc(gcc 版本 4.0.1(Apple Inc. build 5484))时无法编译。但是,使用 Visual Studio 2008 C++ 编译器,没有任何抱怨。
一些研究发现 STL 容器中的元素必须是Assignable
. VC 实现中是否存在 STL 错误(我会说:“不太可能”)还是他们使用了另一个概念Assignable
?