数据结构–(ElemType *&T)代表的意义「建议收藏」

数据结构–(ElemType *&T)代表的意义「建议收藏」1、前言ElemType表示抽象数据类型。首先看个例子:函数1:voidswap1(intx,inty){inttemp;temp=x;x=y;y=temp;}函数2:voidswap2(int&x,int&y){inttemp;temp=x;x=y;…

大家好,又见面了,我是你们的朋友全栈君。

1、前言:普通变量的引用

ElemType表示抽象数据类型,假设为int型。首先看个改变变量值的例子:

函数1:

void add(int x)
{ 
   
    ++x;
}

函数2:

void Add(int &x)
{ 
   
    ++x;
}
int main()
{ 
   
    int x = 1;
    add(x);
    Add(x);
    return 0;
}

很明显只有函数2才会改变x变量的值。

2、(*&T)的含义:指针的引用

如果要改变指针型变量,则需要写成如下形式:

void add(int *&p)
{ 
   
    ++p;
}

示例:

#include <iostream>

using namespace std;

void add(char *&p)
{ 
   
    ++p;
}

int main()
{ 
   
    char *p = "Hello";
    cout << "p = " << *p << endl;

    add(p);
    cout << "p = " << *p << endl;
    
    return 0;
}

开始时指针p指向”Hello”中的H,调用add()函数后,指针p的值增1,指向e。
数据结构--(ElemType *&T)代表的意义「建议收藏」
(*&T)的含义就是指针T的引用。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144613.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux安装mysql8.0.16_mysql安装配置教程

    linux安装mysql8.0.16_mysql安装配置教程1.在/use/local下创建mysql文件夹mkdirmysql2.切换到mysql文件夹下cdmysql3.下载mysqlwgethttps://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz也可以直接在官方下载最新版本https://dev.mysql.com/downloads/mysql/选择linux4.解压mysqltar-zx……..

    2022年10月13日
    3
  • struts的内置_struts自定义拦截器

    struts的内置_struts自定义拦截器一般我们的web应用都是只有在永固

    2022年9月25日
    3
  • 数据结构与算法二叉树的算法_数据结构c语言二叉树的深度

    数据结构与算法二叉树的算法_数据结构c语言二叉树的深度一、什么是二叉树1.概述首先,需要了解树这种数据结构的定义:树:是一类重要的非线性数据结构,是以分支关系定义的层次结构。每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且

    2022年8月16日
    9
  • EfficientNet网络详解[通俗易懂]

    EfficientNet网络详解[通俗易懂]目录前言论文思想网络详细结构MBConv结构EfficientNet(B0-B7)参数前言原论文名称:EfficientNet:RethinkingModelScalingforConvolutionalNeuralNetworks论文下载地址:https://arxiv.org/abs/1905.11946原论文提供代码:https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet自己使用Pyt

    2022年7月26日
    6
  • isnotempty和isnotnull_isannotationpresent()用法

    isnotempty和isnotnull_isannotationpresent()用法引入包:org.apache.commons.lang3.StringUtils;1.publicstaticbooleanisEmpty(Stringstr)判断某字符串是否为空,为空的标准是str==null或str.length()==0下面是StringUtils判断是否为空的示例:StringUtils.isEmpty(null)=trueStringUtils.isEm…

    2022年9月27日
    5
  • 数据库之MySql建议收藏

    1.mysql安装mysql是一种开放源代码的关系型数据库管理系统(RDBMS),是使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。(1)下载地址:https://dev.

    2021年12月18日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号