C++字典.docx

上传人:b****7 文档编号:10460639 上传时间:2023-02-13 格式:DOCX 页数:41 大小:33.04KB
下载 相关 举报
C++字典.docx_第1页
第1页 / 共41页
C++字典.docx_第2页
第2页 / 共41页
C++字典.docx_第3页
第3页 / 共41页
C++字典.docx_第4页
第4页 / 共41页
C++字典.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

C++字典.docx

《C++字典.docx》由会员分享,可在线阅读,更多相关《C++字典.docx(41页珍藏版)》请在冰豆网上搜索。

C++字典.docx

C++字典

C++算术类型

类型

含义

最小存储空间

bool

boolean

NA

char

character

8bits

whcar_t

widecharacter

16bits

short

shortinteger

16bits

int

integer

16bits

long

longinteger

32bits

float

single-precisionfloating-point

6significantdigits

double

double-precisionfloating-point

10significantdigits

longdouble

extended-precisionfloating-point

10significantdigits

C++关键字

asm

do

if

return

try

auto

double

inline

short

typedef

bool

dynamic_cast

int

signed

typeid

break

else

long

sizeof

typename

case

enum

mutable

static

union

catch

explicit

namespace

static_cast

unsigned

char

export

new

struct

using

class

extern

operator

switch

virtual

const

false

private

template

void

const_cast

float

protected

this

volatile

continue

for

public

throw

wchar_t

default

friend

register

true

while

delete

goto

reinterpret_cast

C++操作符替代名

and

bitand

compl

not_eq

or_eq

xor_eq

and_eq

bitor

not

or

xor

几种初始化string对象的方式

strings1;

默认构造函数s1为空串

strings(cp);

定义一个新的string对象,用cp所指向的(以空字符null结束的)C风格字符串初始化该对象

strings2(s1);

将s2初始化为s1的一个副本

strings3(“value”);

将s3初始化为一个字符串字面值副本

strings4(n,‘c’);

将s4初始化为字符’c’的n个副本

is>>s;

从输入流is中读取一个以空白字符分隔的字符串,写入s

os<

将s写到输出流os中

getline(is,s)

从输入流is中读取一行字符,写入s

strings(cp,n)

创建一个string对象,它被初始化为cp所指向数组的前n个元素的副本

strings(s2,pos2)

创建一个string对象,它被初始化为一个已存在的string对象s2中从下标pos2开始的字符的副本

strings(s2,pos2,len2)

创建一个string对象,它被初始化为s2中从下标pos2开始的len2个字符的副本。

如果pos2>s2.size(),则该操作未定义,无论len2的值是多少,最多只能复制s2.size()-pos2个字符

string对象的操作

s.empty()

如果s为空串,则返回true,否则返回false

s.size()

返回s中字符的个数

s[n]

返回s中位置为n的字符,位置从0开始计数

s1+s2

把s1和s2连接成一个新字符串,返回新生成的字符串

s1=s2

把s1内容替换为s2的副本

v1==v2

比较v1与v2的内容,相等则返回true,否则返回false

!

=,<,<=,>,>=

保持这些操作符惯有的含义

与容器共有的string操作

s.insert(p,t)

在迭代器p指向的元素之前插入一个值为t的新元素。

返回指向新插入元素的迭代器

s.insert(p,n,t)

在迭代器p指向的元素之前插入n个值为t的新元素。

返回void

s.insert(p,b,e)

在迭代器p指向的元素之前插入迭代器b和e标记范围内所有元素。

返回void

s.assign(b,e)

在迭代器b和e标记的范围内的元素替换为s。

对于string类型,该操作返回s;对于容器类型,则返回void

s,assign(n,t)

用值为t的n个副本替换s。

对于string类型,该操作返回s;对于容器类型,则返回void

s.erase(p)

删除迭代器p指向的元素。

返回一个迭代器,指向被删除元素后面的元素

s.erase(b,e)

删除迭代器b和e标记范围内所有的元素。

返回一个迭代器,指向被删除元素段后面的第一个元素

string类型区别于容器特有的操作

s.insert(pos,n,c)

在下标为pos的元素之前插入n个字符c

s.insert(pos,s2)

在下标为pos的元素之前插入string对象s2的副本

s.insert(pos,s2,pos2,len)

在下标为pos的元素之前插入s2中从下标pos2开始的len个字符

s.insert(pos,cp,len)

在下标为pos的元素之前插入cp所指向数组的前len个字符

s.insert(pos,cp)

在下标为pos的元素之前插入cp所指向的以空字符结束的字符串副本

s.assign(s2)

用s2的副本替换s

s.assign(s2,pos2,len)

用s2中从下标pos2开始的len个字符副本替换s

s.assign(cp,len)

用cp所指向数组的前len个字符副本替换s

s.assign(cp)

用cp所指向的以空字符结束的字符串副本替换s

s.erase(pos,len)

删除从下标pos开始的len个字符

string的字串操作

s.substr(pos,n)

返回一个string类型的字符串,它包含s中从下标pos开始的n个字符

s.substr(pos)

返回一个string类型的字符串,它包含从下标pos开始到s末尾的所有字符

s.substr()

返回s的副本

修改string对象的操作

s.append(args)

将args串接在s后面。

返回s引用

s.replace(pos,len,args)

删除s中从下标pos开始的len个字符,用args指定的字符替换之。

返回s的引用

在这个版本中,args不能为b2,e2

s.replace(b,e,args)

删除迭代器b和e标记范围内所有的字符,用args替换之。

返回s的引用

在这个版本中,args不能为s2,pos2,len2

append和replace操作的参数:

args

s2

string类型的字符串s2

s2,pos2,len2

字符串s2中从下标pos2开始的len2个字符

cp

指针cp指向的以空字符结束的数组

cp,len2

cp指向的以空字符结束的数组中前len2个字符

n,c

字符c的n个副本

b2,e2

迭代器b2和e2标记的范围内所有字符

string对象中字符的处理(cctype中的函数)

isalnum(c)

如果c是字母或数字,则为true

isalpha(c)

如果c是字母,则为true

iscntrl(c)

如果c是控制字符,则为true

isdigit(c)

如果c是数字,则为true

isgraph(c)

如果c不是空格,但可打印,则为true

islower(c)

如果c是小写字母,则为true

isprint(c)

如果c是可打印字符,则为true

ispunct(c)

如果c是标点符号,则为true

isspace(c)

如果c是空白字符,则为true

isupper(c)

如果c是大写字母,则为true

isxdigit(c)

如果c是十六进制数,则为true

tolower(c)

如果c是大写字母,返回其小写字母形式,否则直接返回c

toupper(c)

如果c是小写字母,则返回其大写字母形式,否则直接返回c

string查找操作符

s.find(args)

在s中查找args的第一次出现

s.rfind(args)

在s中查找args的最后一次出现

s.find_first_of(args)

在s中查找args的任意字符的第一次出现

s.find_last_of(args)

在s中查找args的任意字符的最后一次出现

s.find_first_not_of(args)

在s中查找第一个不属于args的字符

s.find_last_not_of(args)

在s中查找最后一个不属于args的字符

string类型提供的find操作的参数

c,pos

在s中,从下标pos标记的位置开始,查找字符c。

pos的默认值为0

s2,pos

在s中,从下标pos标记的位置开始,查找string对象s2。

pos的默认值为0

cp,pos

在s中,从下标pos标记的位置形参,查找指针cp所指向的C分隔的以空字符结束的字符串。

pos的默认值为0

cp,pos,n

在s中,从下标pos标记的位置开始,查找指针cp所指向数组的前n个字符。

pos和n都没有默认值

string类型compare操作

pare(s2)

比较s和s2

pare(pos1,n1,s2)

让s中从pos下标位置开始的n1个字符与s2做比较

pare(pos1,n1,s2,pos2,n2)

让s中从pos1下标位置开始的n1个字符与s2中从pos2下标位置开始的n2个字符做比较

pare(cp)

比较s和cp所指向的以空字符结束的字符串

pare(pos1,n1,cp)

让s中从pos1下标位置开始的n1个字符与cp所指向的字符串作比较

pare(pos1,n1,cp,n2)

让s中从pos1下标位置开始的n1个字符与cp所指向的字符串的前n2个字符做比较

初始化vector

vectorv1;

vector保存类型为T对象,默认构造函数v1为空

vectorv2(v1);

v2是v1的一个副本

vectorv3(n,i);

v3包括n个值为i的元素

vectorv4(n);

v4含有值初始化元素的n个副本

vector操作

v.empty()

如果v为空,则返回true,否则返回false

v.size()

返回v中的元素个数

v.push_back(t)

在v的末尾增加一个值为t的元素

v[n]

返回v中位置为n的元素

v1=v2

把v1的元素替换为v2中元素的副本

v1==v2

如果v1与v2相等,则返回true

!

=,<,<=,>,>=

保持这些操作符惯有的含义

初始化bitset对象的方法

bitsetb;

b有n位,每位都0

bitsetb(u);

b是unsignedlong型u的一个副本

bitsetb(s);

b是string对象s中含有的位串的副本

bitsetb(s,pos,n);

b是s中从位置pos开始的n个位的副本

bitset操作

b.any()

b中是否存在置为1的二进制位?

b.none()

b中不存在置为1的二进制位?

b.count()

b中置为1的二进制位的个数

b.size()

b中二进制位的个数

b[pos]

访问b中在pos处二进制位

b.test(pos)

b中在pos位的二进制位置为1?

b.set()

把b中所有二进制位都置为1

b.set(pos)

把b中在pos处的二进制位置为1

b.reset()

把b中所有二进制位都置为0

b.reset(pos)

把b中在pos处的二进制位置为0

b.flip()

把b中所有二进制位逐位取反

b.flip(pos)

把b中在pos处的二进制位取反

b.to_ulong()

用b中同样的二进制位返回一个unsignedlong值

os<

把b中的位集输出到os流

操纵C风格字符串的标准库函数(#include

strlen(s)

返回s的长度,不包括字符串结束符null

strcmp(s1,s2)

比较两个字符串s1和s2是否相同,返回0(=),正数(>),负数(<)

strcat(s1,s2)

将字符串s2连接到s1后,并返回s1

strcpy(s1,s2)

将s2复制给s1,并返回s1

strncat(s1,s2,n)

将s2的前n个字符连接到s1后面,并返回s1

strncpy(s1,s2,n)

将s2的前n个字符复制给s1,并返回s1

算术操作符

操作符

功能

用法

+

unaryplus(一元正号)

+expr

-

unaryminus(一元负号)

-expr

*

multiplication(乘法)

expr*expr

/

division(除法)

expr/expr

%

remainder(求余)

expr%expr

+

addition(加法)

expr+expr

-

subtraction(减法)

expr-expr

下列操作产生bool值

操作符

功能

用法

!

logicalNOT(逻辑非)

!

expr

<

lessthan(小于)

expr

<=

lessthanorequal(小于等于)

expr<=expr

>

greaterthan(大于)

expr>expr

>=

greaterthanorequal(大于等于)

expr>=expr

==

equality(相等)

expr==expr

!

=

inequality(不等)

expr!

=expr

&&

logicalAND(逻辑与)

expr&&expr

||

logicalOR(逻辑或)

expr||expr

位操作符

操作符

功能

用法

~

bitwiseNOT(位求反)

~expr

<<

leftshift(左移)

expr<

>>

rightshift(右移)

expr>>expr

&

bitwiseAND(位与)

expr&expr

^

bitwiseXOR(位异或)

expr^expr

|

bitwiseOR(位或)

expr|expr

操作符的优先级

操作符及其结合性

功能

用法

L

:

:

globalscope(全局作用域)

:

:

name

L

:

:

classscope(类作用域)

class:

:

name

L

:

:

namespacescope(名字空间作用域)

namespace:

:

name

L

.

memberselectors(成员选择)

object.member

L

->

memberselectors(成员选择)

pointer->member

L

[]

subscript(小标)

variable[expr]

L

()

functioncall(函数调用)

name(expr_list)

L

()

typeconstruction(类型构造)

type(expr_list)

R

++

postfixincrement(后自增操作)

lvalue++

R

--

postfixdecrement(后自减操作)

lvalue--

R

typeid

typeID(类型ID)

typeid(type)

R

typeid

run-timetypeID(运行时类型ID)

typeid(expr)

R

explicitcast

typeconversion(类型转换)

cast_name(expr)

R

sizeof

sizeofobject(对象的大小)

sizeofexpr

R

sizeof

sizeoftype(类型的大小)

sizeof(type)

R

++

prefixincrement(前自增操作)

++lvalue

R

--

prefixdecrement(前自减操作)

--lvalue

R

~

bitwiseNOT(位求反)

~expr

R

logicalNOT(逻辑非)

!

expr

R

-

unaryminus(一元负号)

-expr

R

+

unaryplus(一元正号)

+expr

R

*

dereference(解引用)

*expr

R

&

address-of(取地址)

&expr

R

()

typeconversion(类型转换)

(type)expr

R

new

allocateobject(创建对象)

newtype

R

delete

deallocateobject(释放对象)

deleteexpr

R

delete[]

deallocatearray(释放数组)

delete[]expr

L

->*

ptrtomemberselect(指向成员操作的指针)

ptr->*ptr_to_member

L

.*

ptrtomemberselect(指向成员操作的指针)

obj.*ptr_to_member

L

*

multiply(乘法)

expr*expr

L

/

divide(除法)

expr/expr

L

%

modulo(remainder)(求模(求余))

expr%expr

L

+

add(加法)

expr+expr

L

-

subtract(减法)

expr-expr

L

<<

bitwiseshifrleft(位左移)

expr<

L

>>

bitwiseshiftright(位右移)

expr>>expr

L

<

lessthan(小于)

expr

L

<=

lessthanorequal(小于或等于)

expr<=expr

L

>

greaterthan(大于)

expr>expr

L

>=

greaterthanorequal(大于或等于)

expr>=expr

L

==

equality(相等)

expr==expr

L

!

=

inequality(不等)

expr!

=expr

L

&

bitwiseAND(位与)

expr&expr

L

^

bitwiseXOR(位异或)

expr^expr

L

|

bitwiseOR(位或)

expr|expr

L

&&

logicalAND(逻辑与)

expr&&expr

L

||

logicalOR(逻辑或)

expr||expr

R

?

:

conditional(条件操作)

expr?

expr:

expr

R

=

assignment(赋值操作)

lvalue=expr

R

*=,/=,%=

compoundassign(复合赋值操作)

lvalue+=expr,etc.

R

+=,-=

R

<<=,>>=

R

&=,|=,^=

R

throw

throwexception(抛出异常)

throwexpr

L

comma(逗号)

expr,expr

头文件中定义的标准异常类

exception

最常见的问题

runtime_error

运行时错误:

仅在运行时才能检测到问题

range_error

运行时错误:

生成的结果超出了有意义的值域范围

overflow_error

运行时错误:

计算上溢

underflow_error

运行时错误:

计算下溢

logic_error

逻辑错误:

可在运行前检测的问题

domain_error

逻辑错误:

参数的结果值不存在

invalid_error

逻辑错误:

不合适的参数

length_error

逻辑错误:

试图生成一个超出该类型最大长度的对象

out_of_range

逻辑错误:

使用一个超出有效范围的值

IO标准库类型和头文件

头文件

类型

iostream

istream从流中读取

ostream写到流中去

iostream对流进行读写;从istream和ostream派生而来

fstream

ifstream从文件中读取;由istream派生而来

ofstream写到文件中去;由ostream派生而来

fstream读写文件;由iostream派生而来

sstream

istringstream从string对象中读取;由istream派生而来

ostringstream写到string对象中去;由ostream派生而来

stringstream对string对象进行读写;由iostream派生而来

IO标准库的条件状态

strm:

:

iostate

机器相关的整型名,由各个iostream类定义,用于定义条件状态

strm:

:

badbit

strm:

:

iostate类型的值,用于指出被破坏的流

strm:

:

failbit

strm:

:

iostate类型的值,用于指出失败的IO操作

strm:

:

eofbit

strm:

:

iostate类型的值,用于指出流已经到达文件结束符

s.eof()

如果设置了流s的eofbit值,则该函数返回true

s.fail()

如果设置了流s的failbit值,则该函数返回true

s.bad()

如果设置了流s的badbit值,则该函数返回true

s.good()

如果流s处于有效状态,则该函数返回true

s.clear()

将流s中的所有状态值都重设为有效状态

s.clear(flag)

将流s中的某个指定条件状态设置为有效。

flag的类型是strm:

:

iostate

s.setstate(flag)

给流s添加指定条件。

flag的类型是strm:

:

iostate

s.rdstate()

返回流s

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1