C++基础中易混淆点

来源:互联网 发布:网络炒作团队怎么收费 编辑:程序博客网 时间:2024/06/04 20:43

前言:每每遇到这几个名词,就仿佛置身于一阵迷雾之中,不由得感叹文字之妙。现先简单的作下收集,其实每一对单独拎出来都足以让我们好好考量一番了。故也附上一些前辈们的技术博文以供学习。

========================================

指针数组(array of pointers):用于存储指针的数组,即数组元素都是指针
int p[4]; //[ ]的优先级高于 , 表示p数组有4个元素,每个元素都是一个指向int型变量的指针。

数组指针(a pointer to an array): 指向数组的指针
int (*p)[4]; // 表示p为指向一维数组的指针变量

http://www.cnblogs.com/Romi/archive/2012/01/10/2317898.html


指针函数:本质是一个函数,返回类型时某一类型的指针

eg: int *fun(int a, int b); //函数fun 返回一个指向int类型的指针

函数指针:本质是一个指针,指向某个函数

eg: int (*p)(int x, int y); //声明了一个指针指向一个返回为int型且含两个int型形参的函数

http://www.cnblogs.com/gmh915/archive/2010/06/11/1756067.html


const 和 * 谁在前,谁就不允许改变

指针常量:
int b=2;
int c=3;
int *const ptr=&b; //指针在前,表示指针内容不可改变,但指针指向的对象是可以改变的
ptr = &c; //error
*ptr = c; //right

常量指针:
int a=1;
int b=2;
int const * ptr= &a; //常量在前,表示在指针指向的对象不可被改变,而指针本身是可以改变的
ptr = &b; // right
*ptr = b; // error

http://blog.csdn.net/beyond0525/article/details/7409305


函数模板:
函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函数的函数体重复设计。它的最大特点是把函数使用的数据类型作为参数

模板函数:
函数模板的数据类型参数标识符实际上是一个类型形参,在使用函数模板时,要将这个形参实例化为确定的数据类型。将类型形参实例化的参数称为模板实参,用模板实参实例化的函数称为模板函数。模板函数的生成就是将函数模板的类型形参实例化的过程。

http://blog.csdn.net/beyondhaven/article/details/4204345


深拷贝、浅拷贝:
如果一个类拥有资源,当这个类的对象发生复制过程的时候,资源重新分配,这个过程就是深拷贝,反之,没有重新分配资源,就是浅拷贝。

http://blog.csdn.net/lpp0900320123/article/details/39007047

0 0
原创粉丝点击