《C++primer》标准库类型 数组和指针

使用using namespace::name声明的话,就可以直接引用名字了

using声明每次只能声明一个名字

如果用using声明了string类型,那么系统可以使用几个默认构造函数

string s2(s1)                将s2初始化成为s1的一个副本

string s3("value")        将s3初始化成为一个字符串字面值副本

string s4(n, 'c')             将s4初始化为字符'c'的n个副本

从标准输入读取string,会读取并忽略开头所有的空白字符,读取字符直至再次遇到空白字符,读取终止

针对string对象的操作函数都在cctype头文件中定义

vector(容器)是一个类模板,使用模板可以编写一个类定义或者函数定义。

容器的迭代器(iterator)就是对容器内的元素进行遍历

迭代器可以进行算术操作,比如加/减一个整型值得到新的迭代,或者彼此加减来计算距离

解引用(*操作符):使用解引用操作符来访问迭代器所指向的元素

bitset对象的初始化有四种方式,其中

bitset<n> b(s, pos, n)        b是s中从位置pos开始的n个位的副本,如果string对象的字符个数小于bitset类型的长度,则高阶位将置为0

与vector不同,一个数组不能用另外一个数组初始化,也不能将一个数组赋给另一个数组。

vector和数组都可以用下标操作符访问,vector下标的类型为vector::size_type,数组下标的类型为size_t

指针初始化可以有以下四种方式:

1.0值常量表达式; 2.类型匹配的对象的地址; 3.另一对象之后的下一地址; 4.同类型的另一个有效指针

void *”类型的指针可以保存任何类型对象的地址

给指针赋值或通过指针赋值:如果对左操作数进行解引用,则修改的是指针;如果没有使用解引用操作,则修改的是指针本身的值,(即指向另一个对象地址)

引用也可以指向另一个对象,但赋值操作不会改变引用关联的对象,只是改变对象值而已。

如果指向const的指针所指的对象并非const,那么可直接给该对象赋值或间接地利用普通的非const指针修改其值。

const指针——本身的值不能修改,即使给它赋相同的值。

不要在C++程序中使用C风格字符串,万一必须使用,一定不要遗漏字符串结束符null。

C语言中使用一堆标准库函数malloc和free为自由存储区分配存储空间,而C++语言则使用new和delete表达式实现相同的功能。

typedef类型定义可使指向多维数组的指针更容易读、写和理解。比如

typedef int int_array[4];

int_array *ip = ia;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值