C++ Primer Plus 第四章知识点

1、数组

typename Arrayname[arraysize]

数组的初始化方式

        1:int arrayname [ 4 ]

        2:   int hand [ ] = { 1, 2, 3, 4 }

初始化数组时,等号可以省略

可不在大括号内包含任何东西,相当于把所有元素都设置为0.

2、字符串

第一行中并不算一个字符串,所有字符串都会在结尾加一个结束符 \0 空字符

这种方式用char数组是什么麻烦的的,且需要大量的单引号等等,

所以一般直接使用string 在sting name = "sssss" ,在这句中的双引号结尾,他会自动在结尾加一个空字符。

注意:字符常量不能与字符串常量进行混淆

  字符常量使用单引号,字符串常量使用的是双引号。

拼接字符串常量 

sizeof( ) 运算符返回的是整个数组的长度

strlen( )运算符返回的是数组内可见字符的个数

每次读取一行字符串

面向行的输入:getline()函数读取整行

面向行的输入:get() 

get函数并不会读取并丢弃换行符,而是将其留到输入队列中。

 需在头文件中加上#include <string>

3、Sting类

1、string类字符串初始化方式

2、字符串的拼接、赋值、和附加3、sting类字符串的其他操作

strcpy()赋值

strcat()末尾附加

其他类型的字符串字面量

还有一种原始字符串(RAW)

在字符串前加上前缀R  原始字符串表示的就是原来什么样就是什么样,它并不认识什么转义字符。将其全部当作普通字符处理。

4、结构体

结构体声明语法如下:

随后便可以声明结构体变量

inflatable aa;  C++相较于C语言在结构体变量声明时,可以省略掉struct关键字。

 

什么叫位字段

                    指定了占用特定位数的结构成员

语法:        字段数据类型     字段名         :   数字(指定了使用的位数)

5、共用体UNION

结构体可以同时存储多种数据类型的数据,

但是共同体在同一时间内只能够存储一种数据类型的数据

6、指针的使用的金科律令

指针内存储的是所指向的地址值

* 指针 用于获得表示指针所指向的内存的值。

& 变量 用于表示这个变量的地址。

使用new来创建动态结构

inflate *p = new int

创建一个int数据类型长度的内存,并将这块内存的地址值赋值给p,使得指针p指向这块内存。

关键:使用这种动态创建结构的方法并不能够使用成员变量句点运算符,因为我们只知道这块创建出来的地址值,并不知道这个结构变量的名称 因此只能够使用   ---> 来访问成员变量。

C++管理内存数据的方式:自动存储、静态存储、动态存储

第九章会说明 线程存储

自动变量:其实就是在函数内定义的普通变量,就是常说的局部变量,他会存储在栈中,自动变量在函数被调用的时候自然产生,在函数结束的时候消亡。

静态存储:静态存储时在整个程序执行过程中都存在的,有两种方式可以使变量成为静态:1、将变量定义在函数外面 2、在定义变量时加上static关键字

动态存储:new和delete运算符提供了一种比自动变量以及静态存储更加灵活的存储方式,他们管理了一个内存池被称为 堆。

  • 32
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值