赋值 —— 不能将一个数组赋给另一个数组,但可以将一个string对象赋另一个string对象。
char char01[20]; // 创建一个空列表 char char02[20] = "Jason"; // 创建一个初始化数组 string str01; // 创建一个空的string对象 string str02 = "Soler Ho"; // 创建一个初始化的string对象 char01 = char01; // 不可执行,一个数组不能赋值给另一个数组 str01 = str02; // 可执行,可将一个string对象赋给另一个string对象。 3.2 复制、拼接和附加string类简化字符串合并操作。
利用运算符 + 将两个string对象合并起来。
string str01; string str02 = "Soler Ho"; string = str01 + str02;可以使用运算符 += 将字符串附加到string对象的末尾。
string str01; string str02 = "Soler Ho"; str01 += str02; 4. 结构简介结构是用户定义的类型,而结构声明定义了类型的数据属性。
定义类型之后,就直接创建类型的变量。
结构比数组灵活,同一个结构中可以存储多种类型的数据。
4.1 创建结构的步骤:
定义结构描述 —— 描述并标记能够存储在结构中的各种数据类型
按描述创建结构变量(结构数据对象)。
4.2 结构的定义: struct(关键字) 类型名(标记成为新类型的名称) { 结构成员1; 结构成员2; 结构成员3; };//(结束结构声明)对于结构中的成员,使用成员运算符(.)来进行访问各个成员。
4.3 结构的初始化(C++11)与数组一样,列表的初始化用于结构,且等号(=)可有可无。
infor Soler_infor {"Soler HO",55,168}; // 在C++11中,= 号可以省略如果大括号内未包含任何东西,各个成员都将设置为零。
infor Soler_infor {};不允许缩窄转换
✅ 小Tips:C++允许在声明结构变量时省略关键字struct。
4.4 成员赋值成员赋值(memberwise assignment):可以使用赋值运算符(=)将结构赋另一个同类型的结构。这样结构中的每个成员都将被设置为另一个结构中相应成员的值。即使成员是数组。这种方式就是成员赋值。
5. 共用体共用体(union),也叫做联合(union)。一种 构造数据类型 。
关键字:union
联合(union):将不同类型的数据在一起共同占用同一段内存
存储不同的数据类型,但只能同时存储其中的一种类型
示例:
union sample { int int_val; long long_val; double double_val; }; 5.1 结构体和共用体的区别结构可以同时存储int、long和double。
共用体只能存储int、long和double三种。
含义不同。
关键字不同
结构体:struct
共用体:union
5.2 共用体的用途:当数据使用两种格式或更多格式(但不会同时使用)时,可以节省空间。
嵌入式系统编程(如控制烤箱、MP3播放器),内存非常宝贵。
常用于操作系统数据结构或硬件数据结构。
5.3 匿名共用体匿名共用体(anonymous union)没有名称,其成员将成为位于相同地址处的变量。
6. 枚举C++的enum工具提供了另一种创建符号常量的方式,可以代替const,允许定义新类型,但必须有严格限制。
使用enum的语法格式与结构的使用类似。
enum color{red,orange,yellow,green,blue,voilet}; 6.1 设置枚举量的值 enum week{Monday = 1,Tuesday = 2;Wednesday = 3;Thursday = 4};指定的值必须是整数。也可以只显示定义其中一些枚举量的值。