《C++ Primer Plus》第4章复合类型

文章目录

数组

数组是一种数据格式,能够存储多个同类型的值。要创建数组,可使用声明语句,数组声明要指出:存储在每个元素中的值的类型、数组名、数组中的元素数。数组声明能够使用一个声明创建大量的变量,然后便可以用索引来标识和访问各个元素。

typename arrayNamearraySize;

short months12;

数组的初始化规则:只有在定义数组时才能使用初始化,可以使用下标分别给数组中的元素赋值。

字符串

字符串常量(使用双引号)不能与字符常量(使用单引号)互换。'S'是83的另一种写法,而"S"表示的是两个字符(字符S和\0)

sizeof运算符指出整个数组的长度,strlen()函数返回的是存储在数组中的字符串的长度。

getline()函数读取整行,使用通过回车键输入的换行符来确定输入结尾。调用这种方法,使用cin.getline()。该函数有两个参数,第一个参数是用来存储输入行的数组的名称,第二个参数是要读取的字符数。如cin.get(name,20);getline()函数每次读取一行,通过换行符来确定符尾,但不保存换行符,而是在存储字符串时,用空字符来替换换行符。get()方法不再读取并丢弃换行符,而是将其留在队列中。get()会使输入更仔细,通过查看下一个输入字符,如果是换行符就说明读取了整行,否则该行还有其他的输入。getline()使用更加简单,get()使得检查错误更简单。

string类

要使用string类,必须在程序中包含头文件string,string类位于名称空间std中,要提供一条using编译指令。可以使用运算符+将两个string对象合并起来。使用字符数组会存在目标数组过小无法存储指定信息的危险,但是string类具有自动调整大小的功能。

结构

同一个结构可以存储多种类型的数据。外部声明可以被其后面的任何函数使用,而内部声明只能被该声明所属的函数使用。通常使用外部声明,这样所有的函数都可以使用这种类型的结构。

cpp 复制代码
struct inflatable
{
   char name[20];
   float volume;
   double prince;
};

共用体

能够存储不同的数据类型,但只能同时存储其中的一种类型。由于共用体每次只能存储一个值,因此它必须有足够的空间来存储最大的成员,所以共用体的长度为其最大成员的长度。共用体的用途之一是当数据像是两种或更多种格式(但不会同时使用)可节省空间。

枚举

enum工具提供一种创建符号常量的方式,这种方式可以代替const。
enum spectrum {red, yellow, green, blue,violet};

相关推荐
quantdash_cc3 分钟前
Python 股票 K 线数据质量校验:字段、缺失值、重复行和价格异常
开发语言·python·数据分析·量化交易·股票数据·quantdash
Zenova EdgeOS4 分钟前
工业网关重试机制:从固定间隔到指数退避的工程实战
开发语言·网络·php
闻缺陷则喜何志丹13 分钟前
【动态规划】P10726 [GESP202406 八级] 空间跳跃|普及+
c++·算法·动态规划·洛谷
嘻哈baby21 分钟前
Go 函数中的参数为什么不支持默认值?
java·开发语言·jvm
一晌小贪欢27 分钟前
python-第29天:Python面向对象之多态与抽象类
开发语言·python·数据可视化·面向对象·python办公·python多态
Chester_199934 分钟前
CSP202312C.树上搜索
开发语言·数据结构·c++·蓝桥杯·stl
Figo_Cheung1 小时前
Figo共振网络宇宙演化论(RNC) :从原初对称破缺到全息大和谐的演化路径研究
开发语言·php·量子计算
重生之我来学Python1 小时前
Git-SVN 混合开发,从入门到精通!
开发语言·git·svn·github
CoderYanger1 小时前
前端基础——JavaScript(基础语法)(下篇)
java·开发语言·前端·javascript·程序人生·面试·职场和发展
京师20万禁军教头1 小时前
39面向对象(高级)-设计模式
java·开发语言·设计模式