C++ 引用和指针:内存地址、创建方法及应用解析
C++ 引用和指针
创建引用
引用变量是对现有变量的“别名”,它是使用 &
运算符创建的:
现在,我们可以使用变量名 food
或引用名 meal
来引用食物变量:
C++ 内存地址
内存地址
在前一页的示例中,使用 &
运算符创建了一个引用变量。但它也可以用于获取变量的内存地址;即变量在计算机上存储的位置。
当在 C++ 中创建一个变量时,会为该变量分配一个内存地址。当我们给变量赋值时,它将存储在这个内存地址中。
要访问它,使用 &
运算符,结果将表示变量存储的位置:
注意:内存地址以十六进制形式表示(0x..)。注意你可能在你的程序中得不到相同的结果。
为什么知道内存地址很有用呢?
引用和指针在 C++ 中非常重要,因为它们使你能够操作计算机内存中的数据 - 这可以减少代码并提高性能。
这两个特性是使 C++ 与其他编程语言(如 Python 和 Java)不同的因素之一。
C++ 指针
创建指针
可以使用 &
运算符获取变量的内存地址:
然而,指针是一种将内存地址作为其值的变量。
指针变量指向相同类型的数据类型(如 int
或 string
),并使用 *
运算符创建。将正在处理的变量的地址分配给指针:
示例解释
使用星号
*
(string* ptr
)创建一个名为ptr
的指针变量,它指向一个字符串变量。注意指针的类型必须与你正在处理的变量的类型匹配。使用
&
运算符存储名为food
的变量的内存地址,并将其分配给指针。现在,
ptr
持有food
的内存地址的值。
提示:声明指针变量有三种方式,但第一种方式是首选的:
引用和指针的区别
什么时候使用引用和指针
使用引用:
函数参数传递:引用可以传递给函数,函数可以直接修改引用指向的变量,而无需创建副本。
提高效率:引用比指针更有效率,因为不需要指针的解引用操作。
使用指针:
动态内存分配:指针用于动态分配和释放内存。
复杂数据结构:指针用于访问和操作复杂数据结构,例如链表和树。
总而言之,引用和指针都是 C++ 中强大的工具,可以用于高效地操作内存和数据。选择使用引用还是指针取决于具体情况。
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding
,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎点赞、收藏、关注
版权声明: 本文为 InfoQ 作者【小万哥】的原创文章。
原文链接:【http://xie.infoq.cn/article/5adea72a6e3ef772048dc661d】。文章转载请联系作者。
评论