2016年8月24日
摘要: 预处理指令 (Preprocessor Directives) 预处理指令是我们写在程序代码中的给预处理器(preprocessor)的命令,而不是程序本身的语句。预处理器在我们编译一个C++程序时由编译器自动执行,它负责控制对程序代码的第一次验证和消化。 所有这些指令必须写在单独的一行中,它们不需 阅读全文
posted @ 2016-08-24 15:55 苦涩的茶 阅读(523) 评论(0) 推荐(1)
摘要: 函数后面加const 编译器会自动给每一个函数加一个this指针。在一个类的函数后面加上const后,就表明这个函数是不能改变类的成员变量的(加了mutable修饰的除外,后面有讲)。实际上,也就是对这个this指针加上了const修饰。 显示结果:normal const a对象将调用普通show 阅读全文
posted @ 2016-08-24 15:23 苦涩的茶 阅读(2148) 评论(0) 推荐(0)
摘要: 先要理解class的意思。class应该理解为一种类型,象int,char一样,是用户自定义的类型。用这个类型可以来声明一个变量,比如int x, myclass my等等。这样就像变量x具有int类型一样,变量my具有myclass类型。理解了这个,就好解释this了,my里的this 就是指向m 阅读全文
posted @ 2016-08-24 14:56 苦涩的茶 阅读(96853) 评论(4) 推荐(20)
摘要: C++构造函数和析构函数 默认构造函数指不带参数或者所有参数都有缺省值的构造函数!!! (1)构造函数、析构函数与赋值函数 构造函数、析构函数与赋值函数是每个类最基本的函数。它们太普通以致让人容易麻痹大意, 其实这些貌似简单的函数就象没有顶盖的下水道那样危险。 每个类只有一个析构函数和一个赋值函数, 阅读全文
posted @ 2016-08-24 14:43 苦涩的茶 阅读(4609) 评论(0) 推荐(0)
摘要: 前置声明的使用 有一定C++开发经验的朋友可能会遇到这样的场景:两个类A与B是强耦合关系,类A要引用B的对象,类B也要引用类A的对象。好的,不难,我的第一直觉让我写出这样的代码: 好的,完成,编译一下A.cpp,不通过。再编译B.cpp,还是不通过。编译器都被搞晕了,编译器去编译A.h,发现包含了B 阅读全文
posted @ 2016-08-24 13:41 苦涩的茶 阅读(1019) 评论(0) 推荐(0)

// 1.生成目录索引列表