似曾相识 不过是个Bug...

大狗的窝~

2012年7月30日

<C/C++> const表示了什么? (一)

摘要: 那天,我看到:1 const int* p = new int(10);第1秒我很淡定啊,第2秒我就开始慌了。。。心说,new出来的地址应该是块堆内存啊,const常量应该保存在内存静态区啊,那指针p指向的那块内存到底是在静态区还是堆里?3、const有什么用途?(请至少说明两种)(5分)(1)可以定义const常量(2)const可以修饰函数的参数、返回值,甚至函数的定义体。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。--《高质量C++/C编程指南》其实想想很简单,const int* p是一个常量指针,即通过该指针不能修改其目标,可并没说这个指针所指向的目 阅读全文

posted @ 2012-07-30 02:51 Mr.DejaVu 阅读(260) 评论(0) 推荐(0) 编辑

<C/C++> 关于自增运算符的一段纠结

摘要: 事出一道题:1 int a=5;2 printf("%d\n",a++ + ++a);输出为12,之后a为7.木有悬念. 第一个a后++为5;第二个a前++为6;计算表达式的值,此时操作数的值从a取,故6+6=12,输出;最后完成第一个a的后++,a为7.然后呢..我就想到1 int a=5;2 printf("%d\n",a++ + ++a + a++); //(1)3 a=5;4 printf("%d\n",a++ + ++a + ++a); //(2)会是神马呢?按我的惯性理解:(1)为18无悬念,(2)呢? 21吧...先完成 阅读全文

posted @ 2012-07-30 01:45 Mr.DejaVu 阅读(254) 评论(0) 推荐(0) 编辑

导航

for myself...