随笔分类 -  C/C++

《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) 评论(1) 推荐(0)
C/C++中,字符序列(常量)赋值给整型变量
摘要:[代码]5个及以上字符时,报错error C2015: 常量中的字符太多 阅读全文
posted @ 2011-01-31 22:40 龍蝦 阅读(1046) 评论(0) 推荐(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) 推荐(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) 推荐(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) 推荐(0)
C++重载箭头操作符的理解
摘要:今天看《C++ Primer》的成员访问操作符。看重载箭头操作符部分,刚开始有点迷茫,看了两遍总算有点理解,把心得写在这,与各位分享,如果有错误欢迎指正。箭头操作符(->)的通常用法是,使用一个类对象的指针来调用该指针所指对象的成员。左操作数为对象指针,右操作数为该对象的成员。定义重载箭头操作符之后看起来就有点特别,可以用类对象的指针来调用,也可以用类对象直接调用。重载箭头操作符,首先重载箭... 阅读全文
posted @ 2010-08-15 16:36 龍蝦 阅读(2078) 评论(4) 推荐(1)