C++ 为什么共享ptr的向量定义可以通过编译器检查?
我在遗留代码中看到了以下定义:C++ 为什么共享ptr的向量定义可以通过编译器检查?,c++,visual-studio-2008,boost,C++,Visual Studio 2008,Boost,我在遗留代码中看到了以下定义: std::vector<boost::shared_ptr<ClassNameAAA>> vecClass; std::向量向量类; 我能够编译它与VS2008 w/o的问题 问题>我的理解是应该使用以下行: std::vector<boost::shared_ptr<ClassNameAAA> > vecClass; ^ A
std::vector<boost::shared_ptr<ClassNameAAA>> vecClass;
std::向量向量类;
我能够编译它与VS2008 w/o的问题
问题>我的理解是应该使用以下行:
std::vector<boost::shared_ptr<ClassNameAAA> > vecClass;
^ Add a space here
std::向量向量类;
^在这里添加一个空格
我说的对吗?如果有的话,为什么VS2008允许这样做
谢谢这是几种MS扩展之一 我说的对吗 是的,你的理解是正确的<代码>>>将被解析为右移运算符 但是C++11支持
这是几种MS扩展之一 我说的对吗 是的,你的理解是正确的<代码>>>将被解析为右移运算符 但是C++11支持
由于语言扩展,MSVC++2008能够对其进行解析
许多编译器对最终成为语言一部分的功能进行了扩展。在新的C++11标准中,现在需要能够在没有空格的情况下解析嵌套的模板声明。MSVC++2008能够解析此声明,因为它有一个语言扩展 许多编译器对最终成为语言一部分的功能进行了扩展。在新的C++11标准中,现在需要能够在没有空间的情况下解析嵌套的模板声明