c++深入学习
文章平均质量分 65
在深入学习c++的过程中自己的一些记录心得
孙建钊
这个作者很懒,什么都没留下…
展开
-
c++ 智能指针
【代码】c++ 智能指针。原创 2023-06-13 10:29:42 · 50 阅读 · 0 评论 -
c++ 模板详解
不能直接使用函数模板实现具体操作,必须对模板进行实例化,即将模板参数实例化,就是用具体的类型参数去替换函数模板中的模板参数,生成一个确定的具体类型的真正函数,才能实现运算操作。在函数模板中,不能进行自动转换,这是因为函数模板中需要根据实参来推断数据类型,而在类模板中,因为已经显式指定了int,所以会创建一个int的类,然后可以自动转换。每次调用都会根据不同的类型实例化出不同类型的函数,所以最终可执行程序的大小和重载方式相比并不会减少,只是提高了程序员对代码的复用。会将函数模板实例化出一个int类型的函数。原创 2023-06-09 11:46:25 · 108 阅读 · 0 评论 -
c++ volatile
【代码】c++ volatile。原创 2023-06-04 10:47:23 · 141 阅读 · 0 评论 -
c++ explicit
【代码】c++ explicit。原创 2023-06-04 10:42:36 · 70 阅读 · 0 评论 -
c++左值 右值 左值引用 右值引用
右值引用只能绑定到一个将要销毁的对象,必须进行初始化,只能使用右值来初始化。一般一个左值表达式表示的是一个对象的身份,一个右值表达式表示的是对象的值。可以位于赋值号左侧的表达式就是左值;只能位于赋值号右侧的表达式就是右值。有名称的,可以获取到存储地址的表达式为左值,反之为右值。判断某个表达式是左值还是右值的方法。原创 2023-06-04 10:42:09 · 61 阅读 · 0 评论 -
c++ const详解
一般引用的类型必须与其所引用对象的类型一致,但是允许为一个常量引用绑定非常量的对象、字面值,甚至是一个一般表达式。在constexpr声明中如果定义了一个指针,限定符constexpr仅对指针有效,与指针所指的对象无关。一般如果认定变量是一个常量表达式,就把它声明成constexpr类型。可以使用const的地方就尽量使用const。原创 2023-06-04 10:38:47 · 48 阅读 · 0 评论 -
c++ 四种强制类型详解
dynamic_cast要求<>所描述的目标类型必须为指针或引用,转换成功的话返回指向类的指针或引用。用于基类数据类型之间的转换,如把int转换成char,这种转换的安全也要开发人员保证。其他三种都是编译时完成,dynamic_cast是运行时处理,运行时要进行类型检查。用于类层次结构中基类和派生类之间指针或引用的转换。把任何类型的表达式转换为void类型。把空指针转换成目标类型的空指针。原创 2023-06-04 10:36:22 · 146 阅读 · 0 评论 -
c++ 结构体对齐
这是因为将默认对齐字数改为1之后,在使用规则1 2 3进行计算的时候,都让1和之前大小取最小值,因为之前默认为8,所以可以获得之前的结果。将当前对齐字节数压入栈顶,并设这这个值为新的对齐字节数,也就是当前对齐字节数并没有改变。n只能是1 2 4 8 16中的任意值,表示设置当前对齐字节数。会在编译阶段给出一个警告,说明当前对齐字节数,默认为8。将当前对齐字节数压入栈顶,并设置n为新的对齐字节数。会弹出栈顶对齐字节数,并设置为新的内存对齐字节数。弹出栈顶并直接丢弃,设置n为其新的内存对齐字节数。原创 2023-06-04 10:35:27 · 612 阅读 · 0 评论