C++ 当c++;标准引入了语法'vector<;向量<;int>>;`(即,`>;`最后? 包括 使用名称空间std; int _tmain(int argc,_TCHAR*argv[] { 矢量点; 返回0; }

C++ 当c++;标准引入了语法'vector<;向量<;int>>;`(即,`>;`最后? 包括 使用名称空间std; int _tmain(int argc,_TCHAR*argv[] { 矢量点; 返回0; },c++,C++,我已关闭VisualStudio2008语言扩展,并在没有警告或错误的情况下编译了上述代码 我曾经记得,我们必须替换以下行 include <vector> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { vector<vector<int>> vecVecInts; return 0; } 向量 与 向量 因为当时的编译器最终无法识别> 问题>强>什么时候C

我已关闭VisualStudio2008语言扩展,并在没有警告或错误的情况下编译了上述代码

我曾经记得,我们必须替换以下行

include <vector>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    vector<vector<int>> vecVecInts;

    return 0;
}
向量

向量
因为当时的编译器最终无法识别
>

<强>问题>强>什么时候C++标准介绍这个语法更甜美?< /P>


谢谢

它是在最新的标准C++11第14.2/3节中引入的:

解析模板参数列表时,第一个非嵌套的
将作为结束分隔符 而不是大于运算符。类似地,第一个非嵌套的
>
被视为两个连续但 不同的
标记,其中第一个标记作为模板参数列表的结尾,并完成 模板id


我认为这个问题更合适。这正是我所理解的。但是,为什么在我关闭语言扩展时C++2008支持这个问题。项目属性页/C/C++/language/Disable languageExtensions@q0987:VC++2008包含C++11的一些部分。考虑到在编写新标准时,这是已知的新标准的一部分,他们可能没有想到它是一种延伸。
vector<vector<int>>
vector<vector<int> >