• 2007年04月07日

    C++ 函数 - [C++细节]

    1. 内联函数应该在头文件中定义,这一点不同于其他函数。内联机制适用于优化小的、只有几行而且经常被调用的函数。2. 类的成员函数都有一个隐含的形参this,但不能显式地包含this指针,这样做是非法的。类的成员函数形参表后面跟的const修饰符在于说明为常量成员函数,这样的函数只能读取而不能修改调用它们的对象的数据成员。3. 没有形参的为默认构造函数。构造函数的初始化列表即在冒汗和花括号之间的代码:Sales_item():units……
  • 1. 可以使用预处理变量来避免重复包含头文件。同样可以使用类似的技术有条件的执行用于调试的代码:程序所包含的调试代码仅在开发过程中执行。当应用程序已经完成,并且准备提交时,就会将调试关闭。可使用NDEBUG预处理变量实现有条件的调试代码:
    int main() {
     #ifndef NDEBUG
     cerr << "starting main" << endl;
     #endif
     //…
    如果NDEBUG未……
  • 2007年04月03日

    switch - [C++细节]

    1. 比较少见的用法是,为了执行某个case的代码后继续执行下一个case的代码,故意省略break语句。2. 一个普遍的误解:以为程序只会执行匹配的case标号相关联的语句。实际上,程序从该点开始执行,并跨越case边界继续执行其他语句,直到switch结束或遇到break语句为止。3. switch内部的变量定义:对于switch结构,只能在它的最后一个case标号或default标号后面定义变量,制定这个规则是为了避免出现代码跳……
  • 2007年04月02日

    typedef - [C++细节]

    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;...
  • 2007年04月01日

    愚人节 - [生活沉淀]

    刚想起今天是愚人节,让我想起读大学那会。只要愚人节一到,好几个哥们都不会忘记耍我一把,而兄弟的话总是最可信的,所以我经常会被骗到。看到我受骗后,他们通常又会对我很同情的说上一句:“兄弟,今天是愚人节,哈哈哈……”。看到他们一脸……