- 博客(11)
- 收藏
- 关注
原创 C++ primer puls chapter 11 使用类
在类中如果没有对赋值运算符重载 而main函数中有类=10;这种操作时 程序将调用与赋值运算右侧数据相匹配的成员函数。自动转换为类的构造函数的形参 构造函数变为自动类型转换函数 在构造函数前加上explicit可关闭这种转换。类的自动类型转换——将数字转换为类对象(构造函数) 构造函数只用于将某种类型转换到类。与强制类型转换——类对象转换为数值。
2023-08-11 09:02:06
53
1
原创 C++ primer plus chapter 10 对象和类
由于构造函数调用之前对象还不存在 故不能用对象来调用构造函数。this指针——指向用来调用成员函数的对象。定义枚举常量时不会占空间 因为是符号常量。
2023-08-09 16:14:53
72
原创 C++ primer plus chapter 9 内存模型和名称空间
链接性为外部的变量可以在文件之间共享 链接性为外部的变量只能在一个文件的函数中共享。静态存储——全局变量、static修饰的静态变量 在程序运行的整个过程都存在。动态存储——new运算符分配的内存 直到使用delete释放或者程序运行结束。自动存储——局部变量 在函数开始运行时被创建 函数执行结束时被释放。将函数原型 各种声明 以及符号常量 和内联函数放在头文件中。一个CPP文件包含main函数以调用其他函数。const类型的全局变量链接性为内部。自动变量无链接性所以不能共享。存储连续性、作用域和链接性。
2023-08-08 17:30:13
58
原创 C++ primer plus chapter 8 函数探幽
内联函数编译时将用函数定义替换函数调用,这样,程序就不需要跳转到另外的地址执行代码再跳回来,而普通函数执行时需要保存其跳转时的地址,因此内联函数执行速度比普通函数稍快,但是会占用更多内存。函数重载——函数重载的关键是函数的参数列表(函数特征标)参数类型 数量 顺序 注意变量和变量引用编译器不会区分 因为这两种情况可以传入相同参数 故编译器把类型引用和类型本身视为一个特征标。模板的实例化(编译器为特定数据类型生成函数定义时,得到的是函数实例)和具体化。非模板函数>显示具体化模板函数>常规模板函数。
2023-08-07 17:25:10
71
原创 C++ primer plus chapter 7 函数
函数的地址就是函数名 int fuck(int a)中fuck是函数地址 而fuck(int a)是函数的返回值。int fuck(int a)的指针声明应该是 int (*pt)(int a) *pt是函数 pt是指针。int (*arr)[4]定义一个指向由四个int类型构成的数组的指针 但是后面这种形式跟好理解。函数原型中的变量名与函数定义中的变量名不必相同,而且可以省略。int * arr[4]定义一个由四个int*类型构成的数组。将数组的地址 包含元素的种类 以及数组元素的个数传入。
2023-08-04 16:16:26
51
1
原创 C++ primer plus chapter 6 (分支语句与逻辑运算符)
或运算优先级低于关系运算符 ||运算符是个顺序点 先左后右 如果左侧表达式为真则右侧表达式不会被执行。与运算优先级低于关系运算符 &&运算符是个顺序点 先左后右 如果左侧表达式为假则右侧表达式不会被执行。if_else if_else (注意ch++和ch+1的区别,后者会被整型提升)运算符优先级高于所有关系运算符和算数运算符。if语句——if和if else。break和continue。
2023-08-01 13:23:54
37
1
原创 C++ primer plus chapter 5 (循环与关系表达式)
如果在语句块中定义一个新的变量,则仅当程序执行该语句块中的语句时,该变量才存在,执行完该语句块后,变量将被释放。while循环——当根据循环条件而不是循环次数来确定是否执行时,while更合适。逗号运算符允许将两个表达式放到C++句法中只允许放一个表达式的地方。do while循环——while后面有分号。逗号表达式从左至右执行,其值是第二部分的值。string类字符串的比较——运算符重载。使用运算符重载时前置和后置的区别。表达式的值为等号左侧的值。指针与递增递减运算符。语句块与变量作用范围。
2023-07-28 16:14:57
36
1
原创 C++ Primer Plus Chapter 4
但是不会删除该指针,它还可以指向其他内存地址,并且delete不能释放已经释放的内存块这样结果时未知的,也不能使用delete释放声明变量所获得的内存;创建指针时计算机将分配存储地址的内存,但不会分配该地址指向的数据的内存。未初始化的指针可能指向任何地址,随意修改该地址的值是不明智的,故在对指针使用解引用运算符之前一定要确定指针指向的地址可用。数组名是数组首元素的地址,是常量,不可修改。指针是存储地址的变量其内容可以修改,且指针加一将指向下一个元素的首地址;而使用new可以在程序运行时来创建数组。
2023-07-22 22:07:17
72
1
原创 C++基础——第三章 数据处理
其中32位有效位是指二进制位,而6位指的是10进制。共24位,三位表示一个数的话可以表示八个,四位表示一个数可以表示六个。输入时cin将字母转化为对应的码值并存入变量中,输出时cout将变量中的码值转化为对应的字符。对不同类型的数进行运算时,C++将其转化为同一类型,而浮点常量默认是double类型。sizeof运算符返回数据类型(必须加括号)或者变量的大小,单位是字节。1.将一种算数类型的值赋值给另一种算数类型时。——将转换为接收变量的类型。应在声明时常量初始化,否则常量会是一个不确定的值,且无法修改。
2023-07-13 09:25:22
51
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人