语法
---创建类型别名using a=std::vector<int>
1、降低代码耦合性:减少一个代码文件对另一个代码文件的影响eg.高级程序员负责定义变量,低级程序员只需要使用定义好的变量名)
2、同typedef,但是using还可以用于声明使用某个命名空间(类)using namespace std;(后面的代码就不用std::表明类了
---函数签名std::function存储某种形式的函数模板(将函数作为变量操作)
1、声明std::function<int(int,int)> a_function表示接受两个int参数且返回int的可调用对象
2、赋值a_function=[](int a,int b){return a+b}或者先定义一个形式一致的函数b_function再令a_fucntion=&b_function
---静态成员函数/变量:class中static 类型名(只属于类,实例不能使用)
static void logMessage(LogLevel level, const char* format, ...)
---输入流定义
std::ofstream logFile("server.log", std::ios::app)
1、定义ofstream类型变量,实现对logfile的输出logfile<<(类似cout)
(cout输出是输出到控制台,logfile输出是输出到server.log文件中)
2、追加模式输入ios::app
如果没有文件,生成空文件;如果有文件,在文件尾追加
---const变量(用在你不想被修改的变量前)
字符串
定义string s(用string类有s.size可返回字符串的长度)
输入cin>>s
返回字符串开头指针s.begin()/结尾指针s.end()
字符串的i位字符位置s.begin()+i
封装函数
reverse函数
- 数组a[]——reverse(a,a+n)(翻转0~n位)
- string a——reverse(a.begin(),a.begin()+n)
- 向量vector<int> a——reverse(a.begin(),a.begin()+n)
resize/reserve函数
resize
函数会改变vector
的实际大小,并可能添加默认值填充或删除尾部元素缩小,而reserve
函数只会改变vector
的容量,实际大小不变,不会添加或删除元素
push_back函数
- 在vector/string尾部添加元素push_back(vec/str num)