Essential C++ Notes
格格格子曼
Better late than not
展开
-
Essential C++ (2.7--2.9)
2.7 定义并使用模板函数 当我们发现每个函数的函数体相似,唯一区别在于参数的类型,例如: void display_message(const string&, const vector<int>& ); void display_message(const string&, const vector<double>& ); void di...原创 2020-03-20 10:40:52 · 159 阅读 · 0 评论 -
Essential C++ (2.3--2.6)
2.3 提供默认参数值 以参数传递来取代全局变量的原因:函数如果过度依赖定义于 file scope 中的对象,就比较难以在其它环境中重用,也难以做修改。 void bubble_sort(vector<int> &vec, ofstream *ofil = 0){ // ofstream *ofil 直接定义为0,也就是默认值 for (int ix = 0; ix...原创 2020-03-20 10:39:27 · 145 阅读 · 0 评论 -
Essential C++ (2.2)
2.2 调用函数 2.2.1 案例引入 这一节书上借用了一个冒泡排序来讲解调用函数 一个很经典的案例:swap( )函数,为什么在传入参数后,并没有改变原来的参数取值? 2.2.2 引用类型 首先,借助知乎的回答,看一下引用和指针的区别: 在C和C++中,指针一般指的是某块内存的地址,通过这个地址,我们可以寻址到这块内存;而引用是一个变量的别名,例如我们给小明起了个外号:明明,那我们说明明的时候...原创 2020-03-15 16:15:59 · 153 阅读 · 0 评论 -
Essential C++ (2.1)
Essential C++ Notes Part2 Procedural Programming 编写函数 返回类型 函数名 参数列表 函数体 代码: #include <iostream> using namespace std; bool fibon_elem(int pos, int &elem) { if (pos <...原创 2020-03-15 00:56:29 · 125 阅读 · 0 评论