std::string.npos曾经有效吗? (与正确的std::string::npos相对。)

在我正在处理的一个旧项目中,我经常看到它,并且它不能与VS2010一起编译。

这是标准前的日子吗?

最佳答案

不,std::string.npos永远无效,不,这不是标准前的日子。

我看到其他答案提到MSVC允许该表示法。

但是,MSVC不是非常兼容的编译器。例如,它可以让您自由地将临时绑定(bind)到对non-const的引用。再举一个例子,对于Windows GUI子系统应用程序,您必须使用未明确记录的开关才能使其接受标准的main。自从微软聘请了赫伯·萨特(Herb Sutter)(以及我现在不记得这个名字的其他人)来修复他们可怕的编译器以来,情况有了很大的改善。相对而言,它确实很棒,但就绝对而言,仍然缺少编译器。

09-26 13:28