【发布时间】:2014-09-15 09:52:43
【问题描述】:
当我像这样通过引用传递变量时:
void function(int &r){
//do something
}
int main(){
int a = 100;
function(a);
return 0;
}
实际发生了什么? r 是否包含整数变量的地址或其他内容?它是怎么找到的?
【问题讨论】:
-
究竟发生了什么?它无法编译,因为您的代码中有几个错误。如果您懒得为这个简单的示例发布正确的代码,为什么有人要花时间帮助您?
-
通常,实现只会在幕后传递一个指针,但据我所知,它没有义务这样做。编译器也可能内联函数并且不会传递任何指针或任何东西。实现定义等。
-
@ta.speot.is unspecified,而不是implementation-defined