
c++
junpfeng
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
shared_ptr循环引用的本质
网上一般都是举个例子,说是循环引用,不易理解。 循环引用的本质是内存的管理问题。 引例 class A{ public: xxx // 省略构造等 A a; // 出错 }; 上面这种定义类的写法是错误的,在类A内定义一个A变量,定义A变量时还不知类A的具体内容和大小,肯定无法定义。 class A{ public: xxx // 省略构造等 A * pa; // 可以 }; 可以定义...原创 2020-04-04 14:13:29 · 363 阅读 · 0 评论 -
C/C++ 各种变量的初始化和内存分配的阶段
静态变量 全局变量(extern外部变量)和常量(const) 内存分配和初始化都是在编译阶段完成。 其他变量 编译阶段进行内存分配,运行阶段初始化。 变量作为数组长度 int x = 1; int array[x] = {0}; // 出错 变量作为数组长度时,不能同时进行初始化 int x = 1; int array[x]; // 正确 ...原创 2020-03-28 23:57:31 · 1629 阅读 · 1 评论 -
C++ 初始化列表给数组初始化
一般的初始化是使用小括号()。 给数组初始化是使用大括号{}。 class base{ char a[10]; public: base():a{{}}{} } 上例的初始化就相当于:a[10] = {};。原创 2020-03-27 21:32:37 · 5536 阅读 · 1 评论 -
c++ 动态多态原理
c++ 动态多态 example class base{ virtual void func(){} }; class son:public base{ void func(){} }; 虚函数与虚函数表 父类base定义一个虚函数后,会产生一个虚函数指针,和一个虚函数表,表内记载了虚函数和他的地址,虚函数指针则指向该虚函数表内虚函数的位置,从而获得虚函数的地址。 子类继承父类 子类s...原创 2020-03-24 20:41:36 · 220 阅读 · 0 评论