引用和指针都是复合类型,主要区别: 引用:本身并非对象,只是一个别名,定义时必须初始化对象,一旦定义则无法绑定其他对象;不能定义指向引用的指针。 指针:本身也是一个对象,定义时可以不用初始化(当然不推荐这样做),再次赋值时指针指针指向新的对象;可以定义指向指针的引用。如:int *p;int *.....
分类:
其他好文 时间:
2016-01-07 16:45:13
阅读次数:
161
varint:integer;p:^integer;new(P);int:=24;p:=@int;dispose(P);^:指针的引用解析操作符;varpint:^integer;new(pint);showmessage(inttohex(integer(@pint),8));pint^:=$ff...
在c语言中,指针也是变量,指针存放内存地址。指针的引用: int a = 0; int * person = &a;//即可以取到变量a的地址 printf("\d\n",*person);//取到变量a对应的值指针作为函数参数:指针作为函数的参数,将一个变量的地址,传到函数里面,可以在里面进...
分类:
其他好文 时间:
2015-10-27 17:36:39
阅读次数:
126
引用本身不是一个对象,因此不能定义引用的指针;而指针是一个对象,因此可以定义指针的引用。 此外,要理解一个复合类型的变量到底是什么类型,最简单的办法是从右向左阅读其定义,离变量名最近的符号对变量的类型有最直接的影响。 具体参考C++ primer Page 52
分类:
其他好文 时间:
2015-07-22 18:17:49
阅读次数:
86
1. 指向指针的引用
#include
#include
using namespace std;
// int *&lhs 的定义应该从右向左理解:
// lhs 是一个引用,与指向 int 的指针相关联。
// 也就是说,lhs 是传递进 ptrswap 函数的指针的别名。
// 注意:不能这样定义:int &*lhs,编译报错提示为:cant declare pointer to “i...
分类:
其他好文 时间:
2015-07-20 16:36:50
阅读次数:
91
int i;int *a = &i;//这里a是一个指针,它指向变量iint &b = i;//这里b是一个引用,它是变量i的引用,引用是什么?它的本质是什么?下面会具体讲述int * &c = a;//这里c是一个引用,它是指针a的引用int & *d;//这里d是一个指针,它指向引用,但引用不是...
分类:
其他好文 时间:
2015-07-16 21:48:39
阅读次数:
115
动态分配函数malloc可能会分配失败,要判断存储空间分配是否成功.
分类:
其他好文 时间:
2015-05-28 22:48:31
阅读次数:
5496
常量指针:const int* x 说明被指的x是常量,指针本身是变量。如果指针指向常量,必须使用常量指针指针常量:int* const y 说明指针本身是常量,指向的内容可改变数组指针的引用: 指针[] 表示数组元素,括号提示为数组1 int list[6]={1,2,3,4};2 int *.....
分类:
编程语言 时间:
2015-05-25 18:06:50
阅读次数:
127
展示一下使用指针的指针和指针的引用修改传递给方法的指针,以便更好的使用它。(这里说的指针的指针不是一个二维数组)为什么需要使用它们当我们把一个指针做为参数传一个方法时,其实是把指针的复本传递给了方法,也可以说传递指针是指针的值传递。如果我们在方法内部修改指针会出现问题,在方法里做修改只是修改的指针的...
分类:
其他好文 时间:
2015-05-25 16:17:32
阅读次数:
120
引用,r为变量i的引用,引用类型为int:
int i = 0;
int &r = i;
r = 100;
指针的引用,r为变量p的引用,引用的是一个指针,类型为int:
int i = 42;
int *p;
int *&r = p;
r = &i;
*r = 0;
cout...
分类:
其他好文 时间:
2015-05-21 22:37:15
阅读次数:
217