zoukankan      html  css  js  c++  java
  • 指针和引用区别

    指针和引用是什么?

    指针可以看成一个游标,可以指向一个地址,然后通过该地址访问对象,访问完成后可以移动到下一个地址,采用的运算符有*和->

    引用是一个对象的别名,虽然指向的也是对象地址,但对于一个固定的对象,只有一个别名(引用),同一个引用一般不会像指针一样移动,采用的运算符是&

    指针和引用的区别?

    除了所涵盖的意义不同,用法上指针和引用虽然都可以通过地址访问对象,但是指针可以指向null,而引用必须指向一个地址(为空不推荐)

    如引用所常常出现在引用传递上:

    1 void func(int& a, int &b){
    2   print(a);
    3   print(b);
    4 }

    实际上采用指针也是可以实现的

    1 void func(int* a, int *b){
    2   print(*a);
    3   print(*b);
    4 }

    既然指针比引用灵活,有了指针为何还要引用?

    引用的出现,可以实现运算符号重载,因为在运算符重载时,指针修饰符*可能被重载掉,导致无法使用指针,而且使用指针书写更为繁琐,引用最初来自于C语言,C++和C#为了兼容就继承而来。

    使用引用建议?

    能使用引用的地方,尽量使用引用

    实际上,引用因为不能指向空,声明必须初始化,相比于指针更为安全,引用和指针在大多数的使用中是可以等价的。为了安全,Java语言中就取消了指针而只保留了引用。

  • 相关阅读:
    display: flex
    TTStand --Variant的应用
    跨域
    HTTP 响应状态代码
    SQL Server 2017 Developer and Express
    WPF 中 通过点击ListBox中的元素自动选中一整项
    C#计算屏幕的物理宽和高
    C#常用设计模式
    EntityFrameworkCore之工作单元的封装
    内存包装类 Memory 和 Span 相关类型
  • 原文地址:https://www.cnblogs.com/feichangnice/p/9075430.html
Copyright © 2011-2022 走看看