随便写写C++,看看Essential C++
来源:互联网 发布:知乎 可怕 编辑:程序博客网 时间:2024/06/02 06:59
1.所谓“类”,是用户自定义的数据类型,class机制让我们得以将数据类型加入到我们的程序中,并有能力识别他们。class的定义一般分为两步:一是在头文件中声明,另一文件是程序代码文件,包含了这些操作行为的实现内容。
2.初始化可以使用赋值符号”=” : int num_tries = 0;
也可以使用”构造函数语法” : int num_tries(0); 因为如果对象不是内置类型或者对象需要多个初值,就需要这种多值初始化函数法了。
3.不改变的值应该加上const ,以防止 a==1这种判断语句错写成 a=1 而发现不了。
4.
const int seq_cnt = 6;vector<int> fibonacci,lucas,pell,triangular,square,pentagonal;vector<int> *seq_addrs[seq_cnt] = { &fibonacci,&lucas,&pell, &triangular,&square,&pentagonal};//seq_addrs是一个array,所持有的值是vector<int> *的值。
5.点操作符可以用来选择我们的对象所做的操作,但是用指针时,就要使用 -> ,
vector<int> *pv = 0;vector<int> f;pv = &f;if(!pv->empty()){}//
6.
int *pi=0;pi = new int(1024);pi = new int[24];//heap中都是未经初始化的delete pi;//不经过delete,不会释放,造成内存泄露
7.P53
//头文件声明其中指定了参数默认值//让我们称此头文件为NumericSeq.hvoid display(const vector<int>&,ostream&=cout);//程序代码包含上述头文件,//函数定义处,并没有指定参数的默认值#include "NumericSeq.h"void display(const vector<int> &vec,ostream &os){ for(int ix = 0;ix < vec.size():++ix) os << vec[ix] << ' '; os << endl;}
8.在函数前面加上inline只是对函数的一个要求,并不是强制的。
9.重载是指 参数列表 不同(个数或类型)
10.
bool seq_elem(int pos,int& elem, const vector<int>* (*seq_ptr)(int)){//调用一个函数指针}
11.泛型算法系通过function template技术,达到”与操作对象的类型相互独立“的目的。而实现”与容器无关“的诀窍,就是不要直接在容器身上进行操作,而是借由一对iterator (first 和 last),标示我们要进行迭代的元素范围。
12.*(array + 2)如果array是指针,指的是地址1000,那么array+2是等于1000+sizeof(ptr)*2
P72/200
0 0
- 随便写写C++,看看Essential C++
- 随便写写......
- 随便写写
- 随便写写
- 随便写写
- 随便写写
- 随便写写
- 随便写写
- 随便写写
- 随便写写
- 随便写写
- 随便写写
- 随便写写
- 随便写写~
- 随便写写
- 随便写写
- 随便写写
- 随便写写
- 如何在SharePoint中创建HTTPS类型Site Collection?
- 在C语言中,static关键字的作用是什么?
- canvas绘图调用方法
- c#中 foreach 用法
- java多线程的线程池
- 随便写写C++,看看Essential C++
- 操作系统三个简单的部分(Operating Systems in Three Easy Pieces)4.1
- Java并发编程:Callable、Future和FutureTask
- POJ 1470 Closest Common Ancestors(离线tarjan-LCA)
- 使用病毒库检查手机中已经安装的程序
- java ssh
- HDU 2187
- HDU 1846 (巴什博弈)
- A.c和B.c两个文件中使用了名字相同的static变量,编译的时候会不会有问题?这两个static变量存储在什么地方?