值传递与引用传递例子
2011-12-14 09:54
127 查看
int val()
{
int i = 1;
return i;
}
int & ref()
{
int i = 1;
return i;
}
int main()
{
int vv = val();
int & rv = val();
int vr = ref();
int & rr = ref();
}
区别和问题:
int vv = val(); // int <= int; 没有问题,值传递
int & rv = val(); // int& <= int;或int& <= const int&; 编译错误
int vr = ref(); // int <= int&; 引用为普通变量赋值,没有问题。但是ref()返回退栈后的变量,有可能造成数据失效。
int & rr = ref(); // int& <= int&; 赋值语法正确,但执行后rr引用退栈后的变量,极易造成访问冲突,隐患最大。
{
int i = 1;
return i;
}
int & ref()
{
int i = 1;
return i;
}
int main()
{
int vv = val();
int & rv = val();
int vr = ref();
int & rr = ref();
}
区别和问题:
int vv = val(); // int <= int; 没有问题,值传递
int & rv = val(); // int& <= int;或int& <= const int&; 编译错误
int vr = ref(); // int <= int&; 引用为普通变量赋值,没有问题。但是ref()返回退栈后的变量,有可能造成数据失效。
int & rr = ref(); // int& <= int&; 赋值语法正确,但执行后rr引用退栈后的变量,极易造成访问冲突,隐患最大。
相关文章推荐
- 猫脸映射中 数组引用传递的例子
- 值传递与引用传递的一个例子
- Java引用传递的一个例子
- 一个简单的例子让你理解值传递和引用传递
- 一个成功传递引用类型参数到非托管环境的例子
- PHP函数按引用传递的例子
- 值传递和引用传递的小例子
- JAVA 是参数传递 不是引用传递 例子
- //值传递 和引用 传递的区别 例子(数组和 对象引用传递 是类似的)
- 引用传递与指针传递
- Item 20:传递常量引用比传值更好 Effective C++笔记
- js 按值传递与按引用传递
- 值传递和引用传递
- java中传递基础数据类型值与传递数组引用变量给方法的不同之处
- java中的值传递和引用传递
- 函数返回值的传递方式(值传递、指针传递、引用传递)
- 值传递和引用传递
- Asp.net多层架构中的变量引用与传递
- C#中 类和结构 值类型和引用类型以及 值传递和引用传递
- Java中String的 "引用" 传递