【水】你不知道的 C++11 特性
c4droid吧
全部回复
仅看楼主
level 13
OtotheLCHN
楼主
先是一个有陷阱的问题,作答时请不要借助编译器
:
使用一个严格实现 C++11 标准的 C++ 编译器编译图中代码时会报出几个错误?错误分别在哪行?
2016年08月20日 04点08分
1
level 13
OtotheLCHN
楼主
@李登淳
@_柒月初七
@lx716930jp
2016年08月20日 04点08分
2
lx716930jp
我们一起去玩D吧
2016年08月25日 10点08分
lx716930jp
2016年08月25日 10点08分
OtotheLCHN
2016年08月25日 10点08分
OtotheLCHN
你的 ID 变成不当留言了。
2016年08月25日 10点08分
level 12
lxfly2000
我感觉没有错
c++11除了λ表达式其他一概不懂
2016年08月20日 06点08分
3
OtotheLCHN
我是看了《Effective Modern C++》才知道 C++11 还有这个特性的。
2016年08月20日 09点08分
level 13
李登淳
1:第11行,接收右值作为参数却声明左值
2:第21行,operator=未实现
2016年08月20日 08点08分
7
OtotheLCHN
一个错误,第 21 行,foo::operator=(foo&&) & 要求 *this 类型为 foo&。还有,只提供接口不提供实现不影响编译,但会导致链接无法通过。
2016年08月20日 09点08分
OtotheLCHN
C++ Primer 第五版似乎提到过,可以避免 (a + b) = c 这种不符合操作符原生语义的愚蠢写法。
2016年08月20日 09点08分
OtotheLCHN
不过 std::basic_string 类模板的赋值还是沿用了不合理的旧设计。
2016年08月20日 09点08分
李登淳
@OtotheLCHN
但错误还是在11行发生的啊
2016年08月20日 15点08分
level 11
AS魇梦蚀
以下纯属扯淡:
10&21行 a+b是foo&&但virtual foo& operator=(foo const&)要求左侧是左值而且还连接错误
2016年08月20日 11点08分
8
OtotheLCHN
naive。只有第 21 行会报错,只有编译出目标文件后才会进行链接。
2016年08月20日 11点08分
AS魇梦蚀
@OtotheLCHN
硬缺诗婷
2016年08月20日 11点08分
OtotheLCHN
@AS魇梦蚀
No Mo
!
2016年08月20日 11点08分
OtotheLCHN
@AS魇梦蚀
苟
2016年08月20日 11点08分
level 1
tstxwwzj
封装封装再封装,搞的一个原来可以很容易实现的底层操作,现在却要七扭八拐,以各种高难度方式来实现。而且在外人看来,似乎还以实现难度越高,绕得越多,越是光荣……
2016年08月20日 11点08分
9
OtotheLCHN
你想表达什么?
2016年08月20日 11点08分
简单aaaaaaa
同
2016年09月03日 15点09分
level 4
丿传承灬修罗
.
2016年08月30日 13点08分
10
1