这两个C++;按引用传递的语法? 我学习现代C++,有时我看到引用所传递的值与空间略有不同。

这两个C++;按引用传递的语法? 我学习现代C++,有时我看到引用所传递的值与空间略有不同。,c++,reference,C++,Reference,int &i 有区别吗 int& x #包括 使用名称空间std; 无效swapnum(内部和i、内部和j){ int-temp=i; i=j; j=温度; } 空f(常数int&x){ int&y=常数(x); ++y; } 不,间距没有任何区别。在您的示例中,区别在于const关键字(这不是这里的问题) 间隔其实并不重要,除非你的同事可能会抱怨糟糕的造型。这些形式相当于编译器: int &i; int& i; int&i; int & i

int &i
有区别吗

int& x

#包括
使用名称空间std;
无效swapnum(内部和i、内部和j){
int-temp=i;
i=j;
j=温度;
}
空f(常数int&x){
int&y=常数(x);
++y;
}

不,间距没有任何区别。在您的示例中,区别在于
const
关键字(这不是这里的问题)

间隔其实并不重要,除非你的同事可能会抱怨糟糕的造型。这些形式相当于编译器:

int &i;
int& i;
int&i;
int
&
i;

编译器将在进一步处理之前将代码解析为“词汇元素”,空格仅用作分隔符。

不,空格没有任何区别。在您的示例中,区别在于
const
关键字(这不是这里的问题)

间隔其实并不重要,除非你的同事可能会抱怨糟糕的造型。这些形式相当于编译器:

int &i;
int& i;
int&i;
int
&
i;

编译器将在进一步处理之前将代码解析为“词法元素”,空格仅用作分隔符。

否,空格没有任何区别。我假设您指的是符号
&
位置?不,没有语义上的区别。与副本中提到的相同,适用于
&
。另一方面,常量确实有区别。如果您的
f()
函数修改从常量引用获得的值的方式导致未定义的行为,您也不会感到惊讶。另外请注意,您的
f
函数所做的是不好的。如果传递给
f
的参数确实是常量(以某种方式),则函数将导致。除非你100%知道它是安全的,否则不要丢弃
const
。不,间距没有任何区别。我想你指的是符号
&
位置?不,没有语义上的区别。与副本中提到的相同,适用于
&
。另一方面,常量确实有区别。如果您的
f()
函数修改从常量引用获得的值的方式导致未定义的行为,您也不会感到惊讶。另外请注意,您的
f
函数所做的是不好的。如果传递给
f
的参数确实是常量(以某种方式),则函数将导致。不要丢弃常量,除非你100%知道它是安全的。