初识c++
1|0C++之父-本贾尼·斯特劳斯特卢普
示例代码
2|0作用域控制符
使用作用域访问符::
访问全局变量
3|0命名空间
匿名空间里的都是内部链接
using 引用声明
4|0结构体Struct
C++类型检查更加严格
C++三目运算后返回的是变量
c语言,全局const变量存放在只读数据段
c语言,局部const变量存放在栈区
C++默认支持变长数组
在c++中,一个const不必创建内存空间,而在c中,一个const总是需要一块内存空间
c中const默认是外部链接。c++中const默认是内部链接
C++宏定义不受命名空间的约束
int a = 10;
int& ra = a;
Type& ra = a;
/引用的本质就是一个常指针/ 指针常量
/作用是减少指针的使用/
char*& pp;
struct里的成员函数编译器会默认在前面加inline
关键字
inline
用在函数定义
类中的成员函数默认都是内联函数(不加inline也是内联函数)
有时候就算加上inline也不一定是内联函数
构成重载的条件:1. 在同一个作用域 2. 函数名相同
main函数是被_start调用的
C++编译器会对程序中的函数做换名,
将参数表中的类型信息汇合到函数名中,以保证函数名的唯一。
通过extern "C",可以要求编译器不做C++换名,以方便在C语言的模块中使用C++编译生成的代码。
class里的默认权限是private
struct里的默认权限是public
构造函数是编译器自动调用,作用是初始化实例变量
析构函数
不要用拷贝构造函数初始化匿名对象
初始化列表只用在构造函数中
explicit禁止构造函数隐式转换
delete表达式先调用析构函数,然后释放内存
类对象中只有成员变量占空间,成员函数和静态变量是不占空间的
类的大小也要遵循对齐补齐规则
#pragma pack(1) 改变默认对齐数
结构体里不能使用静态数据成员,因为结构体中的静态数据成员,默认放在只读文本(.text)段
结构体中的静态数据成员和类一样,属于结构体变量之间共享,必须在结构体之外初始化
friend只能出现在声明处(类中)
友元关系不能被继承
友元关系是单向的
友元关系不具有传递性
全局函数运算符重载+
ostream类不允许拷贝构造
三元运算符不能重载
2023-09-26 09:28:20 星期二
不能连续后置++
子类继承父类,并不是父类的所有成员都能被子类继承,构造函数,析构函数,赋值运算符都不能被子类继承
纯虚函数的意义就是提供接口
父类的引用/指针,指向子类的对象
虚析构的作用就是通过父类指针,释放子类的所有空间
纯虚析构函数在类中声明,在类外实现
__EOF__

本文链接:https://www.cnblogs.com/bcc0729/p/17718437.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」