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