• C/C++ 引用与指针的传递


      在C中函数参数的传递方式有两种,值传递和指针传递,而C++添加了一种:引用传递。下面的例子可作为参考:

      (1)值传递

      void func1(int x)

      {  x = x + 10;  }

      ...

      int n = 0;

      func1(n);

      std::cout << n << std::endl;      // n = 0

      (2) 指针传递

      void func2(int *x)

      {  (*x) = (*x) + 10;  }

      ...

      int n = 0;

      func2(n);

      std::cout << n << std::endl;    // n = 10;

      (3) 引用传递

      void func3(int &x)

      {   x = x + 10;  }

      ...

       int n = 0;

      func3(n);

      std::cout << n << std::endl;    // n = 10

      

      针对于引用而言,是C++中的概念,引用有一些规则如下:

      (1) 引用被创建的同时必须被初始化,而指针可在任何时候被初始化

      (2)不可有NULL引用,引用必须与合法的存储单元关联,而指针可为空

      (3)一旦引用被初始化,就不能改变其关系,而指针可以随时改变所指对象

      引用可以做的事情,指针同样可以,然而,指针的过于强大,使得非常危险。简单而言,杀鸡焉用牛刀,砍破了手指才明白,的确应该“用适当的工具做适当的事情”吧 ^_^

      

  • 相关阅读:
    会议室预订系统
    event chrome firefox 获取点击对象的 id 类
    微信支付 301 500 php 7 simplexml_load_string
    会议室预订
    ini_set('date.timezone','Asia/Shanghai');
    UnionID OpenID
    Location 接口表示其链接到的对象的位置
    confirm() event.target.getAttribute('id')
    php 代替 js实现自定义时间选择器
    前端页面 重复提交避免
  • 原文地址:https://www.cnblogs.com/SkyflyBird/p/4573321.html
Copyright © 2020-2023  润新知