Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么共享ptr的向量定义可以通过编译器检查?_C++_Visual Studio 2008_Boost - Fatal编程技术网

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标准中,现在需要能够在没有空间的情况下解析嵌套的模板声明