
C++特性
文章平均质量分 92
filanlu
cpp
展开
-
C++ 虚函数表解析
转载自陈皓大佬的博客 C++ 虚函数表解析 陈皓 http://blog.youkuaiyun.com/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技转载 2020-12-21 12:59:42 · 266 阅读 · 0 评论 -
day1 总结C++ struct与class的区别
C++ struct与classstruct与class其实很多时候能够混用,但总觉得如果功能一样那也就没必要定义两个不同的关键字。所以做些总结。相同的地方C++的struct是对C的struct的扩充,它已经不再只是一个包含不同数据类型的数据结构了,class能做的struct大多也能做。如构造函数,(在刷到题的时候才发现的)下面这个例子的成员函数对ListNode进行了初始化。原创 2020-04-15 11:58:09 · 332 阅读 · 0 评论 -
day1 C和C++有什么差异
C++学习随笔第一天:与C的不同使用C++的一点点应该记得的东西更为严谨的类型检查,不喜欢强转enum枚举表达式做左值函数重载倾轧变量读法引用重载运算符使用C++的一点点应该记得的东西C++之父给 C 程序员的建议原创 2020-05-18 23:26:02 · 201 阅读 · 0 评论 -
day2 C++之new delete与malloc free 区别比较
new delete/molloc free作用差别使用作用c语言中提供了malloc 和free 两个系统函数,完成对堆内存的申请和释放。而c++则 提供了两关键字 new 和 delete 。差别1)malloc free是系统函数,而new delete是关键字,系统函数必须包括头文件才能使用而关键字不用。2)new delete 能够兼容malloc free的功能,而且发展出新的功能,即对类对象的处理使用1)在前面的介绍我都是”malloc free“ /”new delete“两两原创 2020-06-01 00:01:33 · 155 阅读 · 0 评论 -
day2 C++学习之宏函数/普通函数/内联函数分析
分析对比宏函数普通函数内联函数宏函数c语言中有宏函数的概念。宏函数的特点是内嵌到调用代码中去,避免了函数调用的开销。但是由于宏函数的处理发生在预处理阶段,缺失了语法检测和有可能带来的语意差错。1)使用方法:实例:SQR()求平方函数#define SQR(i) ((i)*(i))2)优缺点:优点:代码内嵌,避免函数调用花费的压栈出栈缺点:无类型检查,易产生歧义,由于代码直接内嵌可能造成text段体积变大普通函数优点:一段高度抽象的逻辑,不易产生歧义,有类型检查,text段小。缺点:原创 2020-06-01 00:22:32 · 269 阅读 · 0 评论 -
day2 C++中的类型强转
cpp中的类型强转隐式转换static_castreinterpret_castconst_cast要说的三个类型转换运算符其实都基于隐式转换。隐式转换static_castreinterpret_castconst_cast原创 2020-06-01 12:35:27 · 215 阅读 · 0 评论 -
day2 C++学习之namespace的使用
命名空间提供了在大项目中避免名字冲突的一种方法。声明于命名空间块内的符号被放入一个具名的作用域中,避免这些符号被误认为其他作用域中的同名符号。允许具有相同名字的多个命名空间块。这些块中的所有声明声明于该具名作用域。原创 2020-06-01 17:41:17 · 123 阅读 · 0 评论 -
day2 C++学习之string的使用
简明扼要string使用原创 2020-06-01 18:24:51 · 157 阅读 · 0 评论 -
day3 C++封装与C的封装
了解封装的前世今生,C和C++的封装特性。原创 2020-06-14 16:33:16 · 264 阅读 · 0 评论 -
day4 C++复制构造、赋值运算符重载、this指针,类对象内存
复制构造赋值运算符重载this 指针类对象内存写在最后原创 2020-07-05 15:35:24 · 180 阅读 · 0 评论 -
day5 C++ 类中的const static
day5 了解类中的const staticconst1、const修饰数据成员与类外部数据一致,即认为此数据成员不可改变。在参数列表(构造函数)位置初始化原创 2020-07-14 18:23:05 · 2504 阅读 · 0 评论 -
day6 类成员指针 友元
类成员指针指向普通变量和函数的指针指向类数据成员的指针友元写在最后原创 2020-07-21 21:10:15 · 363 阅读 · 0 评论 -
day6 深入运算符重载实战
简述基本规则,深入了解重载意义。重载(-> /*)实现auto_ptr以复数类为例重载重载+=重载输出运算符<<重载前++重载后++仿函数重载函数运算符"()"类间的重载总结原创 2020-07-26 00:34:24 · 122 阅读 · 0 评论 -
day 6 C++类间的类型转换
其他类到本类的转换转换构造函数源类内实现类型转换操作符关键字 explicit和implicit原创 2020-07-26 12:50:20 · 111 阅读 · 0 评论 -
day7 C++继承与派生 权限控制 类的设计
C++继承中的权限控制与类设计作用继承的关系定性is ahas a语法继承示例继承方式补充说明派生类的构造基类成员初始化构造顺序与析构顺序继承中的赋值运算符重载shadow现象多继承虚继承原创 2020-08-01 00:54:12 · 492 阅读 · 0 评论 -
day8 C++中的多继承、虚继承、多态
C++中的多继承、虚继承、多态多继承虚继承的意义多态多继承多重继承可以使得子类拥有多个父类特性的成员,但多个重名函数可能会出现不必要的开销。考虑以下这种情况。多继承例子:#include <iostream>using namespace std;class M{public: M(int i) :_data(i){} int _data;};class X:public M{public: X(int d) :M(原创 2020-11-18 22:45:36 · 359 阅读 · 0 评论