C++指针与引用
来源:互联网 发布:php msgpack pack 编辑:程序博客网 时间:2024/06/06 03:55
修改指针的值:
把一个指针赋值给另一个指针,只修改值,不修改地址
如以下函数:
void Func2(myUtil* pMyClass ,myUtil* newPMyClass) {int data = pMyClass->data;cout << data << endl;/*pMyClass = newPMyClass;*/ //此时只修改了newPMyclass的调用值 并没有修改地址pMyClass = new myUtil(20); //传值传入新的值data = pMyClass->data;cout << data << endl;return;}
根据输出结果, pMyClass的值发生变化,但存储地址没有发生变化
双指针的使用
使用例子:
void Func3(myUtil** pMyClass) {*pMyClass = new myUtil(50); //双指针会改变地址 指向别的区域}函数的参数是一个指针的指针
当传入一个指针时 函数的值与地址会发生。
函数的使用:Func3(&p) //传入一个指针
调用func1之后,p指向新的对象。在COM编程中,你到处都会碰到这样的用法--例如在查询对象接口的QueryInterface函数中: interface ISomeInterface {
HRESULT QueryInterface(IID &iid, void** ppvObj);
……
};
LPSOMEINTERFACE p=NULL;
pOb->QueryInterface(IID_SOMEINTERFACE, &p);
此处,p是SOMEINTERFACE类型的指针,所以&p便是指针的指针,在QueryInterface返回的时候,如果调用成功,则变量p包含一个指向新的接口的指针。
引用指针:
void Func4(myUtil* &pMyClass) {pMyClass = new myUtil(60); //指针传地址引用}
效果类似于双指针的使用:
使用时 直接把指针传入就好Func4(p);
阅读全文
0 0
- 【c++】指针与引用
- 【C++】指针与引用
- C++【引用与指针】
- 指针与引用c
- 【C++】指针与引用
- c中指针与引用
- 指针与引用(C++)
- C/C++引用与指针
- 【C/C++】指针与引用的区别
- C与C++之引用与指针
- 【C++与C差异】引用与指针
- 指针与引用的区别 (MoreEffictive C++)
- java引用与C指针的异同
- C/C++ 指针与引用的区别
- 【C++】指针与引用的区别
- c,c++易错点之指针与引用
- C引用与指针的比较
- 引用 与 指针的区别 -- C
- Oracle数据库导入/导出
- Java与J++、J#、C#的历史-简笔
- Android 增加GMS包后提示权限问题
- 手机web端唤醒qq客户端以及电脑web端唤醒qq客户端
- SDK将彻底颠覆开发者的价值观?
- C++指针与引用
- Mysql的各种时间类型的区别以及使用场景
- Pixhawk室内自动控制:参数设置(SITL)
- LayoutManager自定义
- Android 系统属性SystemProperty分析
- Python 使用 pip 升级所有包
- 机器学习环境搭建
- 遗传算法例子(转)
- Tensorflow