Gcc 先验规则与lambda表达式
我试图理解gcc-4.3.2和 gcc-4.5.1 给定 我知道Gcc 先验规则与lambda表达式,gcc,lambda,c++11,Gcc,Lambda,C++11,我试图理解gcc-4.3.2和 gcc-4.5.1 给定 我知道[1a]和[2a]正确地初始化了 指针未初始化的指针 在我们的代码库中有[2b]的实例,其中有人想要 [2a]。在gcc-4.5.1[2b]中使用更好的C++0x支持,会突然触发 警告 我的问题是,在C++0x中,[2b]实际上会做什么?这是什么 与gcc-4.5.1中显示良好的[1b]的差异?[2b]是否正在执行 gcc-4.3.2和C++03是否正确 另外,我知道STL容器。警告是一个错误:表达式不能被误认为是lambda表达式
[1a]
和[2a]
正确地初始化了
指针未初始化的指针
在我们的代码库中有[2b]
的实例,其中有人想要
[2a]
。在gcc-4.5.1[2b]
中使用更好的C++0x支持,会突然触发
警告
我的问题是,在C++0x中,[2b]
实际上会做什么?这是什么
与gcc-4.5.1中显示良好的[1b]
的差异?[2b]
是否正在执行
gcc-4.3.2和C++03是否正确
另外,我知道STL容器。警告是一个错误:表达式不能被误认为是lambda表达式;对于定义的--std=c++0x,它也会做同样的事情 另见
- gcc版本4.3.5(Ubuntu 4.3.5-3ubuntu1)
- gcc版本4.4.5(Ubuntu/Linaro 4.4.4-14ubuntu5)
- gcc版本4.5.1(Ubuntu/Linaro 4.5.1-7ubuntu2)警告
- gcc版本4.6.1 20110604(预发布)(Debian 4.6.0-11)
--std=c++0x
g++ -o 5-0x.s --std=c++0x -S test.cpp
g++ -o 5.s -S test.cpp
比较
5-0x.s
和5.s
没有任何区别。PPS。欢迎大家为更好的标题提出建议。非常有趣,我不知道你们会写1b和2b。在我看来这是一个不完整的布局语法。。。这是真的吗?@Kerrek:我对标准的模糊理解是,int*[10]
命名了一个类型,这样[1b]
和[2b]
中的括号就不会添加任何内容了。@sehe:谢谢。这是有用的。
g++ -o 5-0x.s --std=c++0x -S test.cpp
g++ -o 5.s -S test.cpp