gpt4 book ai didi

c++ - 引用,地址,取消引用和指针的含义

转载 作者:行者123 更新时间:2023-12-02 09:52:32 24 4
gpt4 key购买 nike

这是我理解C和C++中的*&符号的方式。
在C语言中,*有两个用途。首先,它可以用来声明一个指针变量,例如int* pointerVariable但是,它可以像*pointerVariable这样用作取消引用运算符,它返回保存在该地址的值,它了解如何根据声明指针所指向的数据类型来解释该地址的字节。因此,在我们的情况下,int*读取保存在该地址的字节,并返回整数。
我们在C中也有address-of运算符,就像&someVariable一样,它返回在someVariable名称下保存的字节地址。
但是,在C++中(而不是在C中),我们还可以在&之类的引用声明中使用int& someReference。这会将变量someReference转换为引用,这意味着无论将什么值传递给该变量,它都会自动获取要传递给它的值的地址并将其保存。
我能正确得到吗?

最佳答案

Do I get this correctly?


是的,但是最好根据您要执行的操作来考虑指针和引用。
引用对于所有需要引用某个对象而不进行复制的情况非常有用。引用很简单:它们始终有效,使用该对象时语法没有变化。
指针适用于其余情况。指针允许您使用地址(指针算术),需要显式语法来引用其后的对象( *&->运算符),可以为空( NULLnullptr),可以修改等。
总而言之,引用更容易理解。当引用没有剪切时,请使用指针。

关于c++ - 引用,地址,取消引用和指针的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63330857/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com