《C++ Primer》关于自增自减操作符的描述错误
摘要:《C++ Primer》5.5 P140错误描述:Because the prefix version returns the incremented value, it returns the object itself as an lvalue. The postfix versions return an rvalue.因为前置操作返回加1后的值,所以返回对象本身,这是左值。而后置操作返回的则是右值。 《C和指针》5.1.5 P73正确描述:抽象地说,前缀和后缀形式的增值操作符都复制一份变量值得拷贝。用于周围表达式的值正是这份拷贝。前缀操作符在进行复制之前增加变量的值,后缀操作符在进行复
阅读全文
posted @
2011-05-10 19:50
龍蝦
阅读(428)
推荐(0)
C/C++中,字符序列(常量)赋值给整型变量
摘要:[代码]5个及以上字符时,报错error C2015: 常量中的字符太多
阅读全文
posted @
2011-01-31 22:40
龍蝦
阅读(1046)
推荐(1)
《C陷阱与缺陷》中译本勘误
摘要:我自己觉得错的地方,如果有误,欢迎指正。=====================================P19 +3因为signal函数的返回类型与sfp的返回类型一样,上式也就声明了signal函数,我们可以如下声明signal函数:英文原文:This shows how to declare signal. Since signal returns a value of same type as sfp, we must be able to declare it this way:>>上式展示了如何声明signal函数。因为signal函数返回值的类
阅读全文
posted @
2011-01-14 15:39
龍蝦
阅读(361)
推荐(0)
*、->、++优先级问题
摘要:struct { int len; char *str;} *p;++p->lenlen的值加1*p->str读取指针str所指向的对象的值*p->str++先读取指针str指向的对象的值,然后再将str加1(*p->str)++将指针str指向的对象的值加1*p++->str先读取指针str指向的对象的值,然后p加1
阅读全文
posted @
2010-10-20 14:56
龍蝦
阅读(727)
推荐(0)
类成员的显式初始化
摘要:摘自《C++ primer》12.4.5尽管大多数对象可以通过运行适当的构造函数进行初始化,但是直接初始化简单的非抽象类的数据成员仍是可能的。对于没有定义构造函数并且其全体数据成员均为 public 的类,可以采用与初始化数组元素相同的方式初始化其成员:struct Data { int ival; char *ptr;};// val1.ival = 0; val1.ptr = 0Data...
阅读全文
posted @
2010-10-03 16:14
龍蝦
阅读(551)
推荐(0)
C++重载箭头操作符的理解
摘要:今天看《C++ Primer》的成员访问操作符。看重载箭头操作符部分,刚开始有点迷茫,看了两遍总算有点理解,把心得写在这,与各位分享,如果有错误欢迎指正。箭头操作符(->)的通常用法是,使用一个类对象的指针来调用该指针所指对象的成员。左操作数为对象指针,右操作数为该对象的成员。定义重载箭头操作符之后看起来就有点特别,可以用类对象的指针来调用,也可以用类对象直接调用。重载箭头操作符,首先重载箭...
阅读全文
posted @
2010-08-15 16:36
龍蝦
阅读(2078)
推荐(1)