C++中的引用及指针变量

这篇具有很好参考价值的文章主要介绍了C++中的引用及指针变量。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.1 C++中的引用

1.2 C++中的指针变量(pointer)


1.1 C++中的引用

C++中的引用(reference)是一种特殊的变量,它是某个已存在变量的另一个名字。引用变量与指针变量类似,但引用变量必须在声明时进行初始化,并且一旦引用变量与某个变量关联起来,就无法再与其他变量关联。

引用的声明格式如下:

类型& 引用变量名;

其中,类型是引用变量的类型,引用变量名是引用变量的名称。

例如,以下代码声明了一个名为a的整数引用:

int& a;

此时,a引用的变量尚未初始化。

引用变量可以通过以下方式进行初始化:

引用变量名 = 变量名;

例如,以下代码初始化了a引用:

C++

int b = 10;

a = b;

此时,a引用的变量为b

引用变量可以通过以下方式进行使用:

*引用变量名 = 值;

例如,以下代码将a引用的值设置为20

a = 20;

此时,b的值也将被设置为20

引用变量可以作为函数参数使用。当引用变量作为函数参数时,它将成为实参列表中相应变量的别名。对引用参数进行的任何更改都将真正更改正在调用它的函数中的变量。

例如,以下函数将两个整数进行交换:

void swap(int& left, int& right)
{
  int tmp = left;
  left = right;
  right = tmp;
}

以下代码调用swap()函数:

int a = 10;
int b = 20;

swap(a, b);

此时,ab的值将被交换。

引用变量具有以下特点:

  • 引用变量必须在声明时进行初始化,并且一旦引用变量与某个变量关联起来,就无法再与其他变量关联。
  • 引用变量可以提高代码的可读性和可维护性。
  • 引用变量可以提高程序的性能。

引用变量的使用场景包括:

  • 作为函数参数,提高函数的可读性和可维护性。
  • 作为函数返回值,提高程序的性能。
  • 作为局部变量,提高程序的性能。

以下是一些使用引用变量的示例:

  • 将引用变量作为函数参数:
void print(int& n)
{
  std::cout << n << std::endl;
}

int main()
{
  int a = 10;

  print(a);

  return 0;
}

输出:

10
  • 将引用变量作为函数返回值:
int& get_max(int a, int b)
{
  if (a > b)
    return a;
  else
    return b;
}

int main()
{
  int a = 10, b = 20;

  int& max = get_max(a, b);

  std::cout << max << std::endl;

  return 0;
}

输出:

20
  • 将引用变量作为局部变量:
void swap(int& a, int& b)
{
  int tmp = a;
  a = b;
  b = tmp;
}

int main()
{
  int a = 10, b = 20;

  swap(a, b);

  std::cout << a << " " << b << std::endl;

  return 0;
}

输出:

20 10

1.2 C++中的指针变量(pointer)

C++中的指针变量(pointer)是一种特殊的变量,它存储了另一个变量的地址。指针变量可以指向任何变量,包括局部变量、全局变量、数组元素、结构体成员等。

指针变量的声明格式如下:

类型* 指针变量名;

其中,类型是指针变量所指向的变量的类型,指针变量名是指针变量的名称。

例如,以下代码声明了一个指向整数变量的指针:

int* p;

此时,p指针变量还没有指向任何变量。

指针变量可以通过以下方式进行初始化:

指针变量名 = 变量地址;

例如,以下代码初始化了p指针:

int a = 10;

p = &a;

此时,p指针变量指向了a变量。

指针变量可以通过以下方式进行使用:

*指针变量名 = 值;

例如,以下代码将p指针指向的变量的值设置为20

*p = 20;

此时,a变量的值也将被设置为20

指针变量可以作为函数参数使用。当指针变量作为函数参数时,它将成为实参列表中相应变量的地址。对指针参数进行的任何更改都将真正更改正在调用它的函数中的变量。

例如,以下函数将两个整数进行交换:

void swap(int* left, int* right)
{
  int tmp = *left;
  *left = *right;
  *right = tmp;
}

以下代码调用swap()函数:

int a = 10;
int b = 20;

swap(&a, &b);

此时,ab的值将被交换。

指针变量具有以下特点:

  • 指针变量可以指向任何变量。
  • 指针变量可以被重新赋值,指向不同的变量。
  • 指针变量使用不当可能会导致内存泄漏或其他安全问题。

指针变量的使用场景包括:

  • 作为函数参数,提高函数的可读性和可维护性。
  • 作为函数返回值,提高程序的性能。
  • 动态内存分配,提高程序的灵活性。

以下是一些使用指针变量的示例:

  • 将指针变量作为函数参数:
void print(int* n)
{
  std::cout << *n << std::endl;
}

int main()
{
  int a = 10;

  print(&a);

  return 0;
}

输出:

10
  • 将指针变量作为函数返回值:
int* get_max(int a, int b)
{
  if (a > b)
    return &a;
  else
    return &b;
}

int main()
{
  int a = 10, b = 20;

  int* max = get_max(a, b);

  std::cout << *max << std::endl;

  return 0;
}

输出:

20
  • 动态内存分配:
int* p = new int(10);

std::cout << *p << std::endl;

delete p;

输出:

10

在实际使用中,应根据具体需求选择合适的指针类型。文章来源地址https://www.toymoban.com/news/detail-809526.html

到了这里,关于C++中的引用及指针变量的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [开发语言][c++]:左值、右值、左值引用、右值引用和std::move()

    写在前面: 如果你也被 左值、右值、左值引用、右值引用和std::move 搞得焦头烂额,相关概念和理解不够深入,或者认识模棱两可,那么这篇文章将非常的适合你,耐心阅读,相信一定会有所收获~~ 左值: 可以取地址、位于等号左边 – 表达式结束后依然存在的持久对象

    2024年02月02日
    浏览(61)
  • 【C++】C++ 引用详解 ⑦ ( 指针的引用 )

    指针的引用 效果 等同于 二级指针 , 因此这里先介绍 二级指针 ; 使用 二级指针 作为参数 , 可以实现如下功能 : 动态内存管理 : 借助二级指针 , 可以在函数中分配或释放内存 ; 如 : 创建一个动态数组或调整现有数组的大小 , 在函数中需要一个指向指针的指针作为参数 , 以便修

    2024年02月11日
    浏览(41)
  • C++【4】指针与引用;数组指针;指针数组

    /*     指针变量作为函数参数         函数的参数可以是指针类型,它的作用是将一个变量的地址传送到另一个函数中。         指针变量作为函数参数与变量本身作为函数参数不同,变量作函数参数传递的是具体值。         而指针作为函数参数传递的是内存的地址

    2024年02月07日
    浏览(37)
  • C++的指针和引用

    C++中内存单元内容和地址 内存由很多的内存单元组成,这些内存单元用于存放各种类型数据; 计算机对内存的每个内存单元都进行了编号,这个编号就称为内存地址,地址决定了内存单元在内存中的位置; 记住这些内存单元地址不方便,因此C++语言的编译器让我们通过名字

    2024年02月06日
    浏览(48)
  • 【C++】引用与指针

    专栏放在【 C++知识总结 】,会持续更新,期待支持 🌹 引用的概念 在C++中,引用的本质其实就是给一个已经存在的变量 ”起别名“ 。也就是说, 引用与它所引用的对象共用一块空间 。( 同一块空间的多个名字 ) 就比如说,李逵又叫黑旋风,而黑旋风就是指李逵本人,只

    2024年02月02日
    浏览(44)
  • c++的引用和指针

    我们要清楚的知道,使用指针和引用都可以的传入函数的main函数的变量在局部函数改变值时,main函数里面相应的变量也会改变值。但他俩的方式不同。 我们先来说指针,指针传入局部参数时,他会在创建个局部指针变量,然后把传入的地址赋值给局部的指针变量,然后修改

    2024年02月09日
    浏览(50)
  • C语言指针操作(三)通过指针引用数组

    通过指针引用数组的几种方法的原理和差异;以及利用指针引用数组元素的技巧 关于地址,指针,指针变量可以参考这篇文章: C语言指针操作(一)地址,指针,指针变量是什么 关于指针变量作为函数参数可以参考这篇文章: C语言指针操作(二)指针变量作为函数参数

    2024年02月04日
    浏览(48)
  • C++拾遗(四)引用与指针

    引用和指针是两种不同的概念,尽管它们在某些方面有一些相似之处,但它们在功能和用途上是有所区别 引用:引用是别名,是对已存在变量的另一个称呼,一旦一个变量被引用,就不能再被引用其他变 量。 int a = 10; int ref = a;   这里, ref  是  a  的引用,它们引用的是同

    2024年01月25日
    浏览(58)
  • C++[第五章]--指针和引用

    引用就是别名,引用定义时必须初始化: int a; int b=a; //b即为a的别名 如果不是形参,必须初始化,引用某一变量 指针和c一样; this指针 在类的成员函数中使用,表示当前对象; C++11 新增了一种引用 类型 引用名 = 右值表达式; 引入右值引用如: 编译器允许我们为 num 左值建立

    2024年02月15日
    浏览(40)
  • C语言指针操作(五)通过指针引用多维数组

    多维数组的地址,通过指针引用多维数组详解。 通过指针引用一维数组可以参考这篇文章: C语言指针操作(三)通过指针引用数组 目录 一、多维数组的地址 1.1引入 1.2地址举例说明 1.3地址类型详解 1.4实例说明 二、指向多维数组元素的指针变量 2.1指向数组元素的指针变量

    2024年02月03日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包