首页 > 编程语言 >C++之*与**与&的爱恨情仇

C++之*与**与&的爱恨情仇

时间:2023-01-24 14:10:17浏览次数:48  
标签:调用 pMyClass int 情仇 C++ 引用 new 爱恨 指针

 

 

一、解释*和&
&在变量定义区,表示引用 int &x ;
&在变量操作区,表示取地址符 int x=10, *p=&x ;
*在变量定义区,表示指针 int *x ;
*在变量操作区,表示解引用 int *x ;cout<<*x ;

二、解释**和*&
**是指 指针的指针
*&是指 指针的引用
注意:只有对指针的引用,没有指向引用的指针!(因为引用本身不是对象)

三、代码解释传单指针、传双指针、传指针的引用
具体使用起来原理是相同的,请看代码:

传单指针:
void onePointerFunc(int *pMyClass)
{
   pMyClass = new int;
} 

调用:
int* p = new int;
onePointerFunc(p);

调用onePointerFunc后,p没有指向新的对象。

传双指针:
void poiPointerFunc(int** pMyClass)
{
*pMyClass = new int;
}  

调用:
int* p =new int;
poiPointerFunc(&p);

调用poiPointerFunc之后,p指向新的对象。

传指针的引用:
void refPointerFunc(int *&pMyClass)
{
   pMyClass = new int;
}  

调用:
int* p = new int;
refPointerFunc(p); 

调用refPointerFunc之后,p指向新的对象。

其实,指针的引用和指针的指针是一码事,只是语法有所不同。传递的时候不用传p的地址&p,而是直接传p本身。

 

翻译

搜索

复制

标签:调用,pMyClass,int,情仇,C++,引用,new,爱恨,指针
From: https://blog.51cto.com/u_15308785/6022255

相关文章

  • C++小例子【未更新完】
    题目目录​​题目1:全排列​​​​题目2:三数排序​​​​题目3:1+2+3+...+100=?​​​​题目4:大整数相加​​​​题目5:无零整数​​题目1:全排列全排列用1、2、3三个数字可......
  • 算法竞赛向 C++ Standard Library 使用速查
    因网络上STL教程大多零散且缺乏严谨性,本文对算法竞赛所需C++StandardLibrary做了一个较为全面的总结。全文主要参考以下文档:Containerslibrary-cppreference.c......
  • MAC平台上VSCode搭建C++开发环境遭遇问题
    Q1:c_cpp_properties.json文件中的macFrameworkPath参数配置​​官网​​上给定内容如下:{"configurations":[{"name":"Mac","includePath":["${workspa......
  • C++ 类中花括号 {} 换行的正确写法 All In One
    C++类中花括号{}换行的正确写法AllInOneC++Classcurlybraces{}&linebreakC++Class&ObjectC++类&对象[template-spec]class[ms-decl-spec][......
  • C++堆与栈【cherno课程学习】
    C++的堆与栈当我们程序开始的时,它被分成了一堆不同的内存区域,除了堆和栈还有很多东西,但我们最关心的两个就是堆和栈在应用程序启动后,操作系统要做的就是,他会将整个郑......
  • C++ STL unordered_map
    #include<unordered_map>头文件usingnamespacestd;作用无序map容器。以pair形式存储数据。pair在#include<utility>头文件中定义。pair:<key,value>pair其实就是数据......
  • 【速记】C++ STL自定义排序
    这篇笔记咱日后应该还会进行补充。关于sort的比较函数STL的algorithm库中的sort函数,可以接受一个cmp函数作为第三个参数,用来指定排序的规则。自定义sort比较函数cmp(a,......
  • C++左值右值
    lvalue:locatorvalue翻译为左值?可定位的值rvalue:readvalue翻译为右值?可读的值似乎放在等号左边的叫左值,右边的叫右值?lvaue是指存储在内存中、有明确存储地址(可寻址......
  • 侯捷 C++面向对象高级开发 上 && 下 视频全集下载
    关注公众号:红宸笑。回复:视频即可 ......
  • 侯捷 C++新标准C++11&14 视频全集下载
    关注公众号:红宸笑。回复:视频即可 ......