C++字典.docx
- 文档编号:4498254
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:41
- 大小:33.01KB
C++字典.docx
《C++字典.docx》由会员分享,可在线阅读,更多相关《C++字典.docx(41页珍藏版)》请在冰豆网上搜索。
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
vector
vector保存类型为T对象,默认构造函数v1为空
vector
v2是v1的一个副本
vector
v3包括n个值为i的元素
vector
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对象的方法
bitset
b有n位,每位都0
bitset
b是unsignedlong型u的一个副本
bitset
b是string对象s中含有的位串的副本
bitset
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 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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 字典