指针与参考示例,在哪些情况下更好

时间:2018-03-25 13:12:31

标签: c++

我正在开始编程学习,目前我想知道C ++中指针和引用之间的差异。为了exacmle,我们可以使用指针从函数返回多个值(因为据我所知return只能给我们一个值)所以这里是指针给我们的一个特征,但可能我们可以做同样的使用参考。 现在我有疑问:

  1. 我最常见,最容易看不出的情况是什么? 应该使用指针,我应该使用引用吗?
  2. 如果我的程序安全且尽可能快,哪种方法更好?
  3. 感谢您的所有答案!我希望你能帮助我学习和解开C ++编程的各个方面:)

1 个答案:

答案 0 :(得分:1)

指针是保存另一个变量的内存地址的变量。需要使用*运算符取消引用指针以访问它指向的内存位置 引用变量是别名,即现有变量的另一个名称。像指针一样的引用也通过存储对象的地址来实现。 引用可以被认为是一个常量指针(不要与指向常量值的指针混淆!)和自动间接,即编译器将为你应用*运算符。
差异:

重新分配:可以重新分配指针。此属性对于链接列表,树等数据结构的实现很有用。请参阅以下示例:

int x = 5;
int y = 6;
int *p;
p =  &x;
p = &y;

另一方面,无法重新分配引用,必须在初始化时分配引用。

int x = 5;
int y = 6;
int &r = x;