-
1. 内联函数应该在头文件中定义,这一点不同于其他函数。内联机制适用于优化小的、只有几行而且经常被调用的函数。2. 类的成员函数都有一个隐含的形参this,但不能显式地包含this指针,这样做是非法的。类的成员函数形参表后面跟的const修饰符在于说明为常量成员函数,这样的函数只能读取而不能修改调用它们的对象的数据成员。3. 没有形参的为默认构造函数。构造函数的初始化列表即在冒汗和花括号之间的代码:Sales_item():units……
-
2007年04月05日
使用预处理器进行调试 - [C++细节]
1. 可以使用预处理变量来避免重复包含头文件。同样可以使用类似的技术有条件的执行用于调试的代码:程序所包含的调试代码仅在开发过程中执行。当应用程序已经完成,并且准备提交时,就会将调试关闭。可使用NDEBUG预处理变量实现有条件的调试代码:
int main() {
#ifndef NDEBUG
cerr << "starting main" << endl;
#endif
//…
如果NDEBUG未…… -
1. 比较少见的用法是,为了执行某个case的代码后继续执行下一个case的代码,故意省略break语句。2. 一个普遍的误解:以为程序只会执行匹配的case标号相关联的语句。实际上,程序从该点开始执行,并跨越case边界继续执行其他语句,直到switch结束或遇到break语句为止。3. switch内部的变量定义:对于switch结构,只能在它的最后一个case标号或default标号后面定义变量,制定这个规则是为了避免出现代码跳……
-
1. typedef和指针,看下面的例子:
typedef string *pstring;
const pstring cstr;
以上定义等价形式为“const string *cstr;”是错误的,应等价于“string *const cstr;”。
2. 用typedef简化指向多维数组的指针
typedef类型定义可使指向多位数组的指针更容易读、写和理解:
int ia[3][4] = {…};
typedef int int_array[4];
int_array *ip = ia;... -
刚想起今天是愚人节,让我想起读大学那会。只要愚人节一到,好几个哥们都不会忘记耍我一把,而兄弟的话总是最可信的,所以我经常会被骗到。看到我受骗后,他们通常又会对我很同情的说上一句:“兄弟,今天是愚人节,哈哈哈……”。看到他们一脸……







