引用和指针小结
来源:互联网 发布:ipad pro绘画软件 编辑:程序博客网 时间:2024/05/01 17:17
引用 &
注意的2点:
1使用引用时,必须同时对它进行初始话,指向一个已经存在的对象
2 一旦一个引用被初始化,就不能改为指向其他的对象。(而指针可以改变指向)。
声明使用如下:
int i ;
int &j=i ;
这样就可以i , j 就可以互相等价了。
指针 *
声明使用如下:
int a,b;
int *pa,*pb=&b; (pa,pb就是地址值)
pa=&a;
注意指针声明时和使用时,*代表不同的意义。
指针声明之后也要指向一特定值(初始化)才能使用。指针可以改变指向。
空指针:
int *p;
p=0;//不指向任何地址 (安全的方法)
-----------------------------------
转 常量指针和指针常量
const要注意的问题
1、下面是一个几乎所有人刚开始都会搞错的问题:
已知:typedef char *cstring;
在以下声明中,cstr的类型是什么?
extern const cstring cstr;
错误答案:const char *cstr;
正确答案:char *const cstr;
错误在于将typedef当作宏扩展。const 修饰cstr的类型。cstr是一个指针,因此,这个定义声明了cstr是一个指向字符的const指针。
2、指针是const还是data为const?
辨别方法很简单,如下:char *p="hello"; //non-const pointer, non-const data;const char *p="hello"; // non-const pointer, const data;char * const p="hello"; // const pointer , non-const data;const char * const p="hello"; // const pointer, const data;
要注意的是,"hello"的类型是const char * ,按C++standard规则,char *p="hello" 是非法的(右式的const char* 不能转换为左式的char *),违反了常量性。但是这种行为在C中实在太频繁,因此C++standard对于这种初始化动作给予豁免。尽管如此,还是尽量避免这种用法。
3、const初始化的一些问题
const 对象必须被初始化:const int *pi=new int; // 错误,没有初始化const int *pi=new int(100); //正确const int *pci=new const int[100]; //编译错误,无法初始化用new表达式创建的内置类型数组元素。
- 引用和指针小结
- 《指针和引用小结》
- [C++]指针和引用的比较小结
- 指针和引用的比较小结
- 指针与引用小结
- 数组、指针、引用小结
- C++指针引用小结
- 指针和指针引用
- 指针和指针引用
- C++指针与引用小结
- 指针传递 引用传递 小结
- 指针和指针的引用
- 指针和指针的引用
- 指针,和指针的引用
- 指针和指针的引用
- 数组和指针小结
- 指针和数组小结
- 指针和引用
- 26步获得网站流量
- 网站项目工作流程:雅虎是这样运作的
- 自大--萨旦最偏爱的原罪
- 一位网友的UML学习笔记
- 走上程序员生活
- 引用和指针小结
- 不要一辈子都是coder
- 汉麒
- Host Byte Order & Network Byte Order
- DotNet界面实现学习纲要
- 基础html代码大全参考
- 读"易互动对Web开发人员的要求 不局限于Web开发技术 "之感想
- Oracle 数据恢复
- Linux 下安装 RealPlayer 的问题及解决办法