2021年6月23日

摘要: 由于类的多态性,基类指针可以指向派生类的对象,如果删除该基类的指针,就会调用该指针指向的派 生类析构函数,而派生类的析构函数又自动调用基类的析构函数,这样整个派生类的对象完全被释放。 如果析构函数不被声明成虚函数,则编译器实施静态绑定,在删除基类指针时,只会调用基类的析构函 数而不调用派生类析构函数 阅读全文
posted @ 2021-06-23 16:26 超人不会灰啊 阅读(441) 评论(0) 推荐(0)
 
摘要: 什么是类型安全? 类型安全很大程度上可以等价于内存安全,类型安全的代码不会试图访问自己没被授权的内存区域。 “类型安全”常被用来形容编程语言,其根据在于该门编程语言是否提供保障类型安全的机制;有的时候 也用“类型安全”形容某个程序,判别的标准在于该程序是否隐含类型错误。 类型安全的编程语言与类型安全 阅读全文
posted @ 2021-06-23 16:16 超人不会灰啊 阅读(207) 评论(0) 推荐(0)
 
摘要: 引入原因 : 编写单一的模板,它能适应多种类型的需求,使每种类型都具有相同的功能,但对于某种特定类型,如果要实现其特有的功能,单一模板就无法做到,这时就需要模板特例化 定义 : 对单一模板提供的一个特殊实例,它将一个或多个模板参数绑定到特定的类型或值上 (1)模板函数特例化 必须为原函数模板的每个模 阅读全文
posted @ 2021-06-23 15:51 超人不会灰啊 阅读(276) 评论(0) 推荐(0)
 
摘要: 为了能够正确的在C++代码中调用C语言的代码:在程序中加上extern "C"后,相当于告诉编译器这部分 代码是C语言写的,因此要按照C语言进行编译,而不是C++; 哪些情况下使用extern "C": (1)C++代码中调用C语言代码; (2)在C++中的头文件中使用; (3)在多个人协同开发时, 阅读全文
posted @ 2021-06-23 15:08 超人不会灰啊 阅读(135) 评论(0) 推荐(0)
 
摘要: 一.当用于类类型对象时,初始化的拷贝形式和直接形式有所不同:直接初始化直接调用与实参匹配的 构造函数,拷贝初始化总是调用拷贝构造函数。拷贝初始化首先使用指定构造函数创建一个临时对 象,然后用拷贝构造函数将那个临时对象拷贝到正在创建的对象。举例如下: 二.为了提高效率,允许编译器跳过创建临时对象这一步 阅读全文
posted @ 2021-06-23 14:36 超人不会灰啊 阅读(260) 评论(0) 推荐(0)
 
摘要: 1.非静态成员的数据类型大小之和 2.编译器加入的额外成员变量(如指向虚函数表的指针)。 3.为了边缘对齐优化加入的padding。 4.空类(无非静态数据成员)的对象的size为1, 当作为基类时, size为0. 阅读全文
posted @ 2021-06-23 14:19 超人不会灰啊 阅读(143) 评论(0) 推荐(0)
 
摘要: 一、static 不考虑类的情况: 1. 隐藏。所有不加static的全局变量和函数具有全局可见性,可以在其他文件中使用,加了之后只能在该文件所在的编译模块中使用。 2. 默认初始化为0,包括未初始化的全局静态变量与局部静态变量,都存在全局未初始化区。 3. 静态变量在函数内定义,始终存在,且只进行 阅读全文
posted @ 2021-06-23 14:00 超人不会灰啊 阅读(110) 评论(0) 推荐(0)

2021年6月22日

摘要: 一、编译阶段 1.define是在编译的预处理阶段起作用,而const是在编译、运行的时候起作用 二、安全性 1.define只做替换,不做类型检查和计算,也不求解,容易产生错误,一般最好加上一个大括号包含住全部的内容,要不然很容易出错 2.const常量有数据类型,编译器可以对其进行类型安全检查 阅读全文
posted @ 2021-06-22 20:35 超人不会灰啊 阅读(190) 评论(0) 推荐(0)
 
摘要: 一、相同点 1.两者都拥有成员函数、公有和私有部分 2.任何可以使用class完成的工作,同样可以使用struct完成 二、不同点 1.两者中如果不对成员不指定公私有,struct默认是公有的,class则默认是私有的 2.class默认是private继承,而struct模式是public继承 三 阅读全文
posted @ 2021-06-22 17:19 超人不会灰啊 阅读(259) 评论(0) 推荐(0)
 
摘要: 一、语言特性 1.Java语言给开发人员提供了更为简洁的语法;完全面向对象,由于JVM可以安装到任何的操作系统 上,所以说它的可移植性强 2.Java语言中没有指针的概念,引入了真正的数组。不同于C++中利用指针实现的“伪数组”,Java引 入了真正的数组,同时将容易造成麻烦的指针从语言中去掉,这将 阅读全文
posted @ 2021-06-22 16:48 超人不会灰啊 阅读(399) 评论(0) 推荐(0)