
【C/C++】
文章平均质量分 60
C/C++学习笔记
zsyyugong
这个作者很懒,什么都没留下…
展开
-
【C/C++】基类和派生类的转换
派生类对象在对父类对象赋值时,其新增的成员会被舍弃。赋值之后的父类对象,也只能调用基类的数据成员。原创 2023-11-02 21:48:42 · 424 阅读 · 0 评论 -
【C/C++】函数作为参数
int (*p)(int, int); 定义一个指向函数的指针p,被指向的函数有两个整型参数并返回整型值。原创 2023-10-22 21:04:34 · 2927 阅读 · 1 评论 -
GCC隐式声明和头文件
模块之间相互独立。假如add.c 里面的函数改了,main.c里面用extern,可以编译add()过,但根本不知道其他模块add()函数变化。最好在main.c和add.c里加头文件原创 2025-05-06 10:13:40 · 611 阅读 · 0 评论 -
【C/C++】构造函数被私有化,为什么还可以在类外直接new一个对象?
既然默认构造函数是私有,为什么还可以在类外直接new一个对象?因为私有是相对作用域外,同一作用域没有这些概念,都是透明的。上面代码添加了类名作用域`(TaskQueue::)`,表示这一句代码仍在类内,只不过是语法要求写在外面(在C++中,类的静态成员(static member)必须在类内声明,在类外初始化)。静态成员在外部初始化是语法要求,但初始化实质算在作用域内操作。原创 2024-07-07 10:24:22 · 412 阅读 · 0 评论 -
【C/C++】构造函数几种调用方式
【代码】【C/C++】构造函数几种调用方式。原创 2023-10-31 18:29:04 · 303 阅读 · 0 评论 -
【C/C++】虚析构和纯虚析构
声明一个`pure virtual` 函数的目的是为了让 `derived classes` 只继承函数接口,派生类必须提供实现原创 2023-11-03 18:16:50 · 228 阅读 · 0 评论 -
【C/C++】虚函数表
多态使用条件: 父类指针或引用指向子类对象。原创 2023-11-03 11:26:26 · 122 阅读 · 0 评论 -
【C/C++】C++中重载、重写和隐藏的区别
多态使用方法:父类指针或引用指向子类对象。原创 2023-11-03 16:28:08 · 162 阅读 · 0 评论 -
【C/C++】继承中同名成员处理方式
如果子类中出现和父类同名的成员函数,子类的同名成员会隐藏父类中所有版本的同名成员函数。原创 2023-11-02 11:57:12 · 402 阅读 · 0 评论 -
【C/C++】仿函数
【代码】【QT】仿函数。原创 2023-11-01 21:24:59 · 314 阅读 · 0 评论 -
【C/C++】 常对象与常函数
const修饰的是 “this”, 指针的值不可以改,即指针的指向不可以改,但指针指向的对象的值可以改。函数后面添加 const 关键字,const Person * const this ,是指向常量的常量指针。指针的指向不可以改,指针指向的值也不可以改。常对象 不可以调用普通成员函数,因为普通成员函数可以修改属性。加mutable关键字,即使在常函数中,也可以修改这个值。加mutable关键字,即使在常对象中,也可以修改这个值。原创 2023-11-01 16:44:42 · 304 阅读 · 0 评论 -
【C/C++】 常量指针、指针常量、指向常量的常指针
const修饰的是 “p2”–> , p2的值不可以改,即指针变量p2的指向不可以改,p2 = &b非法。 当主函数调用 printStudent()函数时,进行虚实结合,把变量s1的地址传送给形参stu(它们都是struct student * 型指针变量),因此,*或虚拟参数,表示它们并不是实际存在的数据,只有在发生函数调用时,函数中的形参才被分配内存单元,以便接受从形参传来的数据。 在定义函数时指定的形参,在未出现函数调用时,它们并不占内存中的存储单元,因此称它们是。原创 2023-11-01 11:49:41 · 308 阅读 · 0 评论 -
【C/C++】空指针访问成员函数
C++中空指针也是可以调用成员函数的,但是也要注意有没有用到this指针。如果用到this指针,需要加以判断保证代码的健壮性。原创 2023-11-01 11:07:04 · 192 阅读 · 0 评论 -
【C/C++】函数重载注意事项
同一个作用域下函数名称相同函数参数类型不同或者个数不同或者顺序不同函数的返回值不可以作为函数重载的条件。原创 2023-10-30 21:11:00 · 258 阅读 · 0 评论 -
【C/C++】函数默认参数注意事项
1. 如果某个位置参数有默认值,那么从这个位置往后,从左向右,必须都要有默认值。2. 如果函数声明有默认值,函数实现的时候就不能有默认参数。原创 2023-10-30 19:58:23 · 251 阅读 · 0 评论 -
【C/C++】关于指针变量的误区
指针变量 p 本质也是局部变量,放在栈上。但指针 p 保存的数据是放在堆区的,return 返回的是指针变量 p 的值。原创 2023-10-30 18:16:29 · 119 阅读 · 0 评论 -
【C/C++】引用的本质是指针常量
在c++内部,**引用的本质是一个指针常量,**如 int * const ref = &a。引用一旦初始化后,就不可以改变指向。结论:C++推荐用引用技术,因为语法方便,引用本质是指针常量,但是所有的指针操作编译器都帮我们做了。,ref = &b非法。但指针变量ref 指向的对象的值可以改,即*ref = 100合法。指针常量,int * const ref = &a;原创 2023-10-30 17:50:01 · 499 阅读 · 0 评论 -
【C/C++】通用数组类封装
通用数组类,包含:内置数据类型以及自定义数据类型的数据原创 2023-06-15 19:20:06 · 128 阅读 · 0 评论 -
【C/C++】虚指针与虚函数表
三个类中的 func1 和func2函数,不是虚函数,他们彼此互不关联,都是各自独立的,不存在重载一说,在调用的时候也不需要进行查表的操作,直接调用即可。原创 2023-06-12 16:00:31 · 261 阅读 · 0 评论 -
【C/C++】引用与拷贝构造函数
拷贝构造函数!拷贝构造函数!拷贝构造函数!拷贝构造函数!拷贝构造函数!拷贝构造函数!主函数每次执行PersonAddPerson(p1)时,相当于在子函数的PersonAddPerson() 虚实结合阶段,隐式的执行Person p = p1;这时会调用拷贝构造函数。而在函数执行完返回 * this时,*this也是一个对象, 返回值类型是:,这时又会调用一次拷贝构造函数。拷贝构造函数!拷贝构造函数!拷贝构造函数!主函数每次执行。原创 2023-06-10 10:43:14 · 209 阅读 · 0 评论 -
【C/C++】深拷贝与浅拷贝
3.浅拷贝是对成员变量的简单赋值,所以p2的height指针=p1的height指针,即两个height指针指向堆区的同一个地址。1. p1在进行有参初始化时,在堆区申请了一个空间,p1的height指针就指向这个空间。p1的年龄: 18 身高: 180 m_height地址:008DC460。p1的年龄: 18 身高: 180 m_height地址:00FC7248。编译器提供的浅拷贝不太好使,自己实现拷贝构造函数,解决浅拷贝带来的问题。2.p2在进行拷贝初始化时使用的是编译器提供的浅拷贝。原创 2023-06-09 20:55:08 · 383 阅读 · 0 评论 -
【C/C++】二维数组与指针数组
数组名是数组首元素的地址。又因为name是一个二维数组,因此它的每一个元素都是一个一维数组原创 2023-06-07 21:07:46 · 552 阅读 · 0 评论 -
【C/C++】 常量指针,指针常量、指向常量的常指针 快速理解
常量指针,指针指向可以改,指针指向的值不可以更改。指针常量的指向不能改,但指针变量的指向变量的值可以改。原创 2023-06-05 11:27:57 · 146 阅读 · 0 评论