C++ Primer
文章平均质量分 52
烂人王
路很远 夜还长
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++ Primer 第九章 顺序容器
接受容器大小参数的顺序容器构造函数使用了元素的默认构造函数 forward_lis迭代器不支持–运算符 使用迭代器参数来拷贝一个范围时,就不要求容器类型相同了 array类型可以进行拷贝和赋值,但是要求元素类型和大小一样 array类型不支持assign,也不允许用花括号的值列表进行赋值 swap一般只是交换两个容器的内部数据结构,此时只用常数时间 对array进行swap会真正交换元素,元素不变但元素值已交换,时间与array中元素的数目成正比 除了array外,swap不对任何元素进行拷贝,删除或插入操原创 2021-01-31 12:52:10 · 269 阅读 · 0 评论 -
C++ Primer 第八章 IO库
IO对象无拷贝或赋值,不能将形参或返回类型设置为流类型 清空缓冲区:用操纵符unitbuf设置流的内部状态,每次写操作后都会进行一次flush 设置nounibuf回到正常的缓冲方式 默认情况下对cerr是设置了unitbuf的,所以写到cerr的内容都会立即刷新 读写被关联的流时,流的缓冲区会立即刷新 默认情况下cin和cerr被关联到cout endl:完成换行并刷新缓冲区 flush:直接刷新缓冲区 ends:插入空字符并刷新缓冲区 流有一个tie成员函数,不带参数就返回关联到的输出流指针或者空指针.原创 2021-01-30 12:25:58 · 174 阅读 · 0 评论 -
C++ Primer 第七章 类
成员函数:声明在类内,定义可内可外,定义在类内则是隐式内联函数 在成员函数内部,可以直接使用调用该函数的对象的成员 类外部定义的成员的名字必须包含所属类名 this本身是一个常量指针,默认情况下指向非常量版本 在参数列表后加const可以修改this指向常量类型 编译器首先编译成员的声明,然后才轮到成员函数体 接口函数与类声明在同一个头文件内 构造函数没有返回类型,并且不能被声明成const 构造函数可以在const对象的构造过程中向其写值,直到构造函数完成初始化过程,对象才获得const属性 若是没有显式原创 2021-01-30 11:34:43 · 118 阅读 · 0 评论 -
C++ Primer 第六章 函数
没有规定实参的求值顺序,编译器能以任意可行的顺序对实参求值 形参不能同名,函数最外层作用域的局部变量也不能和形参同名 函数的返回类型不能是数组和函数类型 自动对象有初始值就用之进行初始化,否则进行默认初始化 局部静态对象没有初始值就进行值初始化,内置类型的局部静态变量初始化为0 函数声明的形参无须名字 变量和函数要在头文件中声明,源文件中定义 定义函数的源文件要包含函数声明的头文件 使用引用修饰形参可以避免拷贝 形参的顶层const会被忽略,可能导致重复定义 给形参传数组其实是传了个指针,所以函数一开始并不原创 2021-01-29 13:50:41 · 255 阅读 · 0 评论 -
C++ Primer 第五章 语句
悬垂else:else与离他最近的尚未匹配的if匹配,从而消除程序的二义性 switch表达式的值转换为整数类型,case标签的值必须是整型常量表达式 两个case标签的值不能相同 以一个空的default标签结束的,后面要跟空句或空块 禁止跨过变量的初始化语句跳转到该变量作用域的另一个位置(可以把变量定义在块内 范围for语句中预存了end()的值 不允许在while条件语句内定义变量 标签标识符可以与其他实体的标识符使用相同的名字 goto语句和带标签的语句必须在同一个函数内(也不能跳过变量的初始化语句原创 2021-01-28 19:47:37 · 201 阅读 · 0 评论 -
C++ Primer 第四章 表达式
指针不能转换成浮点数 重载运算符时,不能改变运算对象的个数、运算符的优先级和结合律 对变量进行取地址得到的是一个右值 优先级并没有说明运算对象的求值顺序 运算对象修改了同一对象,会引发错误并产生未定义的行为 取余的运算对象必须是整型 除法运算中规定商一律向0取整 如果m%n结果不为0,则结果的符号与m相同 逻辑运算符和关系运算符的结果都是右值 初始值列表可以为空,此时编译器会创建一个初始化的临时量然后赋给左侧运算对象 不能把指针的值赋给int,就算指针的值是0也不行,因为指针类型无法转换为int 复合运算符原创 2021-01-28 17:52:56 · 129 阅读 · 0 评论 -
C++ Primer 第三章 字符串、向量和数组
使用using在一条语句声明多个名字时,每个都要加using 初始化string对象的方式 拷贝字符串时不拷贝末尾的空字符 拷贝初始化:用等号初始化一个变量,其他都是直接初始化 string的操作如下 在读取string对象时会自动忽略开头的空白符,然后开始读取,直到遇到下一个空白符为止 用getline读取string时,会丢掉换行符,string中是不包含换行符的 string::size_type:无符号类型,足够放下任何string对象的大小,体现了标准库类型与机器无关的特性 字典顺序:前面字符原创 2021-01-28 16:01:31 · 346 阅读 · 1 评论 -
C++ Primer 第二章 变量和基本类型
C++:静态数据类型语言,类型检查在编译时发生–>编译器必须知道每一个变量对应的数据类型 SmallTalk和python:在程序运行时检查数据类型 C++标准规定的算术类型最小尺寸 char:支持国际化,一个char的空间确保可以存放机器基本字符集中任意字符对应的值, –>一个机器字节要至少能容纳机器基本字符集中的字符 带_t的:用于扩展字符集,大小确保可以存放机器最大扩展字符集中的任意一个字符 类型char16_t和char32_t为Unicode字符集服务 short<=int<原创 2021-01-28 12:09:43 · 150 阅读 · 0 评论 -
C++ Primer 第一章 开始
执行完程序后访问返回值: unix–>echo $?,windows–>echo %ERRORLEVEL% unix中可执行文件没有后缀,windows中可执行文件后缀是.exe 运行GNU编辑器:g++,运行微软编辑器:cl unix用/,微软用\,(/EHsc是编译器选项,用来打开标准异常处理 打开警告:GNU中–>-Wall,微软编辑器中:/W4 打开对C++ 11的支持:-std=c++0x 流:字符序列,从IO设备读出或写入IO设备的。 cerr:用来删除错误和警告信息 clog原创 2021-01-27 18:51:54 · 148 阅读 · 0 评论
分享