摘要: 时常看到别人的头文件中,有这样的代码: 这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这是一段cpp的代码,那么加入extern "C"{,和 }处理其中的代码。 要明白为何使用exter 阅读全文
posted @ 2017-07-22 16:39 阿玛尼迪迪 阅读(856) 评论(0) 推荐(1) 编辑
摘要: #ifndef 是"if not defined"的简写,是预处理功能(宏定义、文件包含、条件编译)当中的条件编译,可以根据是否已经定义了一个变量来进行分支选择,其作用是: 1、防止头文件的重复包含和编译; 2、便于程序的调试和移植; 下面分别举例描述。 一、防止头文件的重复包含和编译 下面是错误示 阅读全文
posted @ 2017-07-22 14:29 阿玛尼迪迪 阅读(18526) 评论(0) 推荐(8) 编辑
摘要: 比如: 1 class Base 2 { 3 Base() {}; 4 ~Base() {}; 5 virtual void Init(); 6 }; 7 8 class Derived:public Base 9 { 10 virtual void Init();//virtual是必须的吗? 1 阅读全文
posted @ 2017-07-22 13:11 阿玛尼迪迪 阅读(2970) 评论(0) 推荐(1) 编辑
摘要: 或许,有人真的会这样写程序吧。。。所以才会碰到如下哥们提出的问题。 https://zhidao.baidu.com/question/131426210.html 出现这种问题的原因链接中的最佳答案说得很清楚了,也确实是这样,所以在.h文件中最好不要涉及全局变量,这样容易在#include的时候出 阅读全文
posted @ 2017-07-22 00:49 阿玛尼迪迪 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 利用关键字extern,可以在一个文件中引用另一个文件中定义的变量或者函数,下面就结合具体的实例,分类说明一下。 一、引用同一个文件中的变量 1 #include<stdio.h> 2 3 int func(); 4 5 int main() 6 { 7 func(); //1 8 printf(" 阅读全文
posted @ 2017-07-22 00:05 阿玛尼迪迪 阅读(11258) 评论(0) 推荐(2) 编辑