
C++ Primer
东风中的蒟蒻
这个作者很懒,什么都没留下…
展开
-
12.动态内存
智能指针shared_ptr,unique_tr,weak_ptr;make_shared函数最安全的使用内存的方式就是使用make_shared标准库函数。和智能指针一样,包含在memory头文件中。#include<iostream>#include<memory>#include<vector>using namespace std;int main(){ shared_ptr<int>p = make_shared<int&g原创 2021-03-23 00:04:22 · 87 阅读 · 0 评论 -
10、泛型算法
这个应该在使用中学习,这里只会记录一些注意事项。算法不会检查写操作的合法性使用C++中的lambda表达式谓词谓词是一个可以调用的表达式,返回结果是一个能用于条件的值。标准库算法使用的谓词分为一元谓词(接受单一参数,fill)和二元谓词(拥有两个参数,sort)lambda表达式lambda表达式可以看作未命名的内联函数。它具有以下形式[capture list] (parameter list) -> return type{ function body}lam原创 2021-03-23 00:02:59 · 93 阅读 · 0 评论 -
8.IO类
IO对象IO对象不能拷贝或者赋值,因此也不能将形参或者返回类型设为流类型通常使用引用传递或者返回流对象。流的错误状态管理输出缓冲导致缓冲刷新的原因程序结束缓冲区满操纵符endl,flush等使用unitbuf、nounitbuf设置流的内部状态。cerr设置为unitbuf,所以所有输出操作都会立即刷新缓冲区。一个输出流可能关联到另一个流,当读写到被关联的流时,会刷新缓冲区。默认情况下cin,cerr都关联到cout,当使用cin读入,或者cerr输出是,都会导致cout缓冲区刷新原创 2021-03-23 00:00:37 · 86 阅读 · 0 评论 -
7.C++基础:类
类的成员函数(感觉和C++ Primer Plus一致)这里仅仅讨论plus未曾出现过的。原创 2021-03-22 23:59:39 · 93 阅读 · 0 评论 -
6.C++基础:函数
函数基础函数体,形参和实参(实参是形参的初始值 );形参列表;返回类型。局部对象自动对象。定义的变量属于此类局部静态对象。通过static定义的变量。在程序执行过程中一直有效。,知道程序结束才会被销毁。分离式编译参数传递传值参数通过拷贝变量,或者指针来访问。传引用尽量使用传引用来避免拷贝。const与参数实际就是const的使用,底层const和顶层const在参数传递的时候会忽略顶层const。就是说可以使用一个变量来初始化一个常量形参。数组参数下面三原创 2021-03-22 23:58:56 · 118 阅读 · 0 评论 -
5.C++基础:语句
迭代语句(循环)for;for();,while;do-while条件语句if-else ;switch跳转语句break;continue;return ;goto;goto是无条件跳转。所以很容易引起错误,不建议使用。try语句块和异常处理 int a, b; cin >> a >> b; try { if (b == 0)throw runtime_error("division by zero"); int c = a / b;原创 2021-03-22 23:58:03 · 81 阅读 · 0 评论 -
4. C++基础:表达式
运算符运算类型转换类型提升重载运算符。。。左值和右值等号两边的对象优先级和结合律运算符的优先级和运算顺序(左结合律)求值顺序对于未制定求值顺序的表达式,求值的时候产生的行为是未定义的。cout << i << " " << i++ <<endl;cout中没有定义如何对运算对象求值,所以是未定义的,最终结果取决于编译环境。4种明确了运算对象求值顺序的运算符&&||?:,运算对象的求原创 2021-03-22 19:45:12 · 238 阅读 · 0 评论 -
3.C++基础:字符串、向量、数组
string类直接初始化和拷贝初始化string s1 = "hallo";//拷贝string s2("hiya");//直接string s3(10,'o');//直接+string的读写使用IO操作符读取string对象string s;cin >> s;cout << s << endl;string对象会自动忽略开头空白,读到下一处空白为止。如果输入hello world,那么只会输出hello。使用getline读入string如原创 2021-03-22 19:43:53 · 122 阅读 · 0 评论 -
2.C++基础:变量和基本数据类型
换行符和回车符\n表示换行符,将光标移动到下一行行首,/r表示回车符,将光标移动到本行行首。声明与定义变量声明规定了变量的类型和名字,而定义还要申请空间,或许为变量赋初值。使用extern将变量申明和定义分开。extern int j任何显式初始化的声明都将成为定义,覆盖extern的作用。多文件使用同一个变量,就必须声明和定义分开,在一个文件定义,而在多个文件声明。变量只能被定义一次。变量命名C++标准库保留字。用户定义的标识符不能以两个下划线开头,也不能以下划线加大写字母开头原创 2021-03-22 19:42:47 · 90 阅读 · 0 评论