返回信息流1.以下代码共调用多少次拷贝构造函数:
Widget f(Widget u)
{
Widget v(u);
Widget w = v;
return w;
}
main()
{
Widget x;
Widget y = f(f(x));
}
A 1 B 3 C 5 D 7
2.在x86的机器上,int a = 0xabcd1234 char b = ((char*)&a)[0] 请问b是多少?
A 0xa B 0x4 C 0xab D 0x34
第二题,
printf("%x\n", ((char*)&a)[0]);
printf("%x\n", ((char*)&a)[1]);
printf("%x\n", ((char*)&a)[2]);
printf("%x\n", ((char*)&a)[3]);
[0]输出34,[1]输出12,[2]输出ffffffcd, [3]ffffffab,后面两个怎么多了6个f ?
这是一条镜像帖。来源:北邮人论坛 / cpp / #83254同步于 2014/10/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
问两个c/c++相关的笔试题
xiaobing307
2014/10/11镜像同步26 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
第二题考的是机器的大小端问题,第一题如果不优化的的话是7次,这道题蛋疼
【 在 spicewolf (女神只有Minami和Ayanami) 的大作中提到: 】
: D
: D两题都是。第二题的关键字是 指针 强制转换
通过『我邮2.0』发布
不优化的话,为什么不是八次? 不是每次调用得四次么
传参数一次
Widget v(u);
Widget w = v;
上面这两句两次
最后返回参数一次
vs2010跑出来是五次,看来优化了
【 在 renwotao 的大作中提到: 】
: 第二题考的是机器的大小端问题,第一题如果不优化的的话是7次,这道题蛋疼
:
: 通过『我邮2.0』发布
【 在 xiaobing307 的大作中提到: 】
: 不优化的话,为什么不是八次? 不是每次调用得四次么
: 传参数一次
: Widget v(u);
: ...................
不是还有最后一次赋值吗,这样的话应该有9次吧,不优化的话
-fno-elide-constructors
9次。。
【 在 xuangong 的大作中提到: 】
: 同LS
: 实际跑的是5次,-O0也还是这样,都是啥时候调的拷贝构造函数,不解啊
我vs2013一共7次
【 在 xiaobing307 的大作中提到: 】
: 不优化的话,为什么不是八次? 不是每次调用得四次么
: 传参数一次
: Widget v(u);
: ...................