摘要: 基本理解 extern放在变量或者函数之前,表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 extern有两个作用 1.当它与"C"一起连用时,如: extern "C" void fun(int a, int b);告诉编译器在编译fun这个函数名时按着C 阅读全文
posted @ 2019-08-30 12:58 WindSun 阅读(21569) 评论(0) 推荐(4) 编辑
摘要: 全局静态变量 全局变量前加上关键字static,全局变量就定义成一个全局静态变量.,全局静态变量存储在静态存储区,在整个程序运行期间一直存在。全局静态变量在程序运行之前就存在。 初始化:未经初始化的全局静态变量会被自动初始化为0(自动对象的值是任意的,除非他被显式初始化)。 作用域:全局静态变量在声 阅读全文
posted @ 2019-08-30 12:57 WindSun 阅读(1826) 评论(0) 推荐(0) 编辑
摘要: const关键字 被const修饰的变量是不能改变的 const修饰变量时,必须在声明变量的同时给出初始化(类中的const成员变量不一样) 顶层const与底层const 顶层const 定义为变量本身是一个常量,因此对一切的内置类型常量而言,所有的const都是顶层const 对指针来说,常量指 阅读全文
posted @ 2019-08-30 12:57 WindSun 阅读(756) 评论(0) 推荐(0) 编辑
摘要: static\_cast 相当于C语言中的强制转换:(类型)表达式或类型(表达式),用于各种隐式转换 非const转const、void\ 转指针、int和char相互转换 用于基类和子类之间的 指针和引用 转换,非指针直接报错 向上转化是安全的,如果向下转能(指针或引用)成功但是不安全,结果未知; 阅读全文
posted @ 2019-08-30 12:55 WindSun 阅读(1430) 评论(0) 推荐(0) 编辑
摘要: const与 define的区别 编译器处理方式不同 define宏是在预处理阶段展开。 补充:预处理器根据以 开头的命令,修改原始的程序。比如我们常见的 include 命令告诉处理器读取系统头文件stdio.h的内容,并把它直接插入程序文本中。咱们的 define也是,仅仅是单纯的文本替换。 c 阅读全文
posted @ 2019-08-30 12:55 WindSun 阅读(1261) 评论(1) 推荐(0) 编辑
摘要: 1.变量 首先最重要的,variable的定义,当你申明一个变量的时候,计算机会将指定的一块内存空间和变量名进行绑定;这个定义很简单,但其实很抽象,例如:int x = 5; 这是一句最简单的变量赋值语句了, 将5赋值于名字叫做x的内存空间,其本质是将值5赋值到一块内存空间,而这个内存空间名叫做x。 阅读全文
posted @ 2019-08-30 12:54 WindSun 阅读(9732) 评论(0) 推荐(4) 编辑
摘要: 为什么析构函数要声明成virtual呢? 因为,如果delete一个基类的指针时, 如果它指向的是一个子类的对象,那么析构函数不为虚就会导致无法调用子类析构函数,从而导致资源泄露。 如果一个类要被使用成 多态 的,那么这个 virtual是必须 的。比如: delete pa 实际上相当于: 释放p 阅读全文
posted @ 2019-08-30 12:51 WindSun 阅读(1291) 评论(0) 推荐(0) 编辑
摘要: 以String类为例实现其成员函数 阅读全文
posted @ 2019-08-30 12:41 WindSun 阅读(327) 评论(0) 推荐(0) 编辑
博客已停更,文章已转移,点击访问