🧸🧸🧸🧸🧸
  • 🧸's Blog
  • CodeJam
    • Kickstart Round H 2018 A Big Buttons
    • Kickstart Round H 2018 B Mural
  • C++/C
    • CashBox Code
    • for迭代数组
    • 字符串操作
    • 在函数中,int与int&的区别
    • sizeof()
    • memset的用法
    • 传值&传引用&传指针
    • STL
  • 经典算法
    • n皇后问题
  • Java
    • servlet从网址传入参数中文乱码
  • SQL
    • 左外连接与右外连接的区别
  • API
    • DeepGTAV v2
    • VPilot
    • SantosNet
    • deepdrive
    • iceb.link API
  • Spring Boot
    • Entity实体
    • 是否加@service的区别
    • Entity内字段表中名字不能为system
由 GitBook 提供支持
在本页
  • int&:传引用
  • int :传参数

这有帮助吗?

  1. C++/C

在函数中,int与int&的区别

int&:传引用

// passing parameters by reference
#include <iostream>
using namespace std;

void duplicate (int& a, int& b, int& c)
{
  a*=2;
  b*=2;
  c*=2;
}

int main ()
{
  int x=1, y=3, z=7;
  duplicate (x, y, z);
  cout << "x=" << x << ", y=" << y << ", z=" << z;
  return 0;
}
输出
x=2, y=6, z=14

int& a可以理解为:因为&为取地址符号,所以a为一个值。

int* a可以理解为:因为*为取值符号,所以a为一个地址。

传引用,通过引用也是可以直接访问到实参和控制实参的,所以实际更改了x,y,z的值。

int :传参数

#include <iostream>
using namespace std;

void duplicate (int a, int b, int c)
{
    a*=2;
    b*=2;
    c*=2;
}

int main ()
{
    int x=1, y=3, z=7;
    duplicate (x, y, z);
    cout << "x=" << x << ", y=" << y << ", z=" << z;
    return 0;
}
输出
x=1, y=3, z=7

相当于把x=1,y=3,z=7这几个值复制一份传给函数,实际上并没有更改x,y,z的值。

上一页字符串操作下一页sizeof()

最后更新于6年前

这有帮助吗?