
C++学习
文章平均质量分 80
Xf3n1an
这个作者很懒,什么都没留下…
展开
-
C++进阶
通过这种机制,当调用对象的虚函数时,实际上是通过虚函数表来动态确定要调用的函数。当派生类对象通过值(而非指针或引用)赋值给基类对象时,派生类对象的额外属性(即派生类特有的成员)会被“切掉”,只剩下基类部分的成员数据被复制到基类对象中。这种转换是安全的,因为每个派生类对象都是一个基类对象,所以基类的部分是派生类对象的一部分。如果项目有很多的继承关系嵌套,那么我们跟踪调试的时候很难确定此时的指针究竟是哪一个类,因此可以用typeid打印类的信息,注意这时候指针需要解引用,否则等号右边需要比较Y*。原创 2024-06-29 20:43:16 · 1075 阅读 · 0 评论 -
c++实战知识点
数据的分类:数字、字符、字符串。变量的作用域:全局变量:在全部函数外面定义。在定义位置之后的任意函数中都能访问。局部变量:在函数和语句块内部定义。在函数返回或语句块结束时由系统回收。函数的参数是该函数的局部变量。函数内部用static修饰的是静态局部变量。只执行初始化一次,直到程序运行结束回收。静态局部变量作用域被限制在定义它们的函数内。这是因为静态局部变量的存在是为了保存函数内的状态,而不影响全局或外部状态。原创 2024-06-13 08:38:21 · 1382 阅读 · 3 评论 -
C++11新特性
在执行A = getMyClass的时候调用了移动构造函数,在执行移动构造函数的时候,把tmp对象里边的num指针赋值给a对象的num指针,然后把tmp对象的num指针置为空指针(防止浅拷贝导致的问题),tmp不再拥有这块堆内存的资源,就把临时变量tmp的堆内存转移给了对象A。3.father 指针销毁,Father 对象的引用计数变成 0,导致 Father 对象析构,Father 对象的析构会导致它包含的 son_ 指针被销毁,这时 Son 对象的引用计数变成 0,所以 Son 对象也会被析构。原创 2024-06-03 15:58:33 · 377 阅读 · 0 评论 -
C/C++读写文件和stringstream类
本文主要详解C/C++对文件的所有常见方法汇总以及stringstream类用法。原创 2024-01-23 11:05:28 · 1207 阅读 · 0 评论 -
C++set与map
set和map都是关联式容器,与序列式容器(vector、list、deque等)不同的是,关联式容器里面存储的是<key,value>结构的键值对,在数据检索时比序列式容器效率高。set容器set是 C++ STL 中提供的容器,set是数学上的集合,其具有唯一性,即每个元素只出现一次,而 multiset 则是可重复集合,两者的内部实现是一棵红黑树,它们支持的函数基本相同。set是按照一定次序存储元素的容器。在set中,元素的value标识它(value就是key,类型为T),并且原创 2023-08-11 09:30:02 · 66 阅读 · 0 评论 -
C++枚举类型
enum :枚举类型的关键字enum_name:定义的枚举类型的名称{enum_table}:仅能使用元素表中的枚举元素。enum_val:声明枚举类型后,可以紧跟着一个枚举对象。原创 2023-08-07 11:19:45 · 94 阅读 · 0 评论 -
C++中的初始化列表用法
C++学习之初始化列表原创 2023-07-17 14:34:16 · 130 阅读 · 0 评论