返回一个参考的内部
2014-03-25 20:07
218 查看
我们把值时(smyarray,10),value()返回一个参考的内部smyarray阵列第十元素。main()然后使用这些参考指定元素的值5。
虽然这是有点做作的例子(因为你可以直接访问smyarray.anvalue),一旦你了解课程你将发现更多的用途,通过引用返回值。
返回地址
返回的返回地址到地址的变量来调用。就像通过地址,返回地址只能返回一个变量的地址,而不是文字或表达式。喜欢引用返回,返回地址的快。然而,与引用返回,返回的地址不能返回局部变量:
1
2
3
4
5
doublevalue整型(int NX)
{
int值= nx×2;
返回/返回值和值;通过地址在这里
} //值超出范围
你可以在这里看到,N值超出范围后,它的地址返回给调用者。最终的结果是,对方最终非分配的内存地址,它会引起很多问题,如果使用。这是最常见的编程错误,新的程序员。许多新的编译器会给出一个警告(不是错误)如果程序员试图返回的地址-然而局部变量,有相当多的方式来欺骗编译器里让你做违法的事情而不产生警告,所以负担是程序员来确保他们返回地址是一个有效的变量在函数返回。
返回的地址通常是用来返回给调用者新分配的内存:
1
2
3
4
5
6
7
8
9
10
11
12
13
allocatearray整型(int nsize)
{
返回int [ nsize ];
}
国际main()
{
int * pnarray = allocatearray(25);
/ / pnarray做的东西
删除pnarray [ ];
返回0;
}
结论
大多数时候,返回值将满足你的需求。它也返回到呼叫者信息最灵活和最安全的方法。然而,通过引用或地址返回也可以是有用的,尤其是使用动态分配的类或结构的时候。当使用引用返回或地址,请确保你没有返回一个引用,或地址,一个变量,将超出范围时,该函数将返回!
虽然这是有点做作的例子(因为你可以直接访问smyarray.anvalue),一旦你了解课程你将发现更多的用途,通过引用返回值。
返回地址
返回的返回地址到地址的变量来调用。就像通过地址,返回地址只能返回一个变量的地址,而不是文字或表达式。喜欢引用返回,返回地址的快。然而,与引用返回,返回的地址不能返回局部变量:
1
2
3
4
5
doublevalue整型(int NX)
{
int值= nx×2;
返回/返回值和值;通过地址在这里
} //值超出范围
你可以在这里看到,N值超出范围后,它的地址返回给调用者。最终的结果是,对方最终非分配的内存地址,它会引起很多问题,如果使用。这是最常见的编程错误,新的程序员。许多新的编译器会给出一个警告(不是错误)如果程序员试图返回的地址-然而局部变量,有相当多的方式来欺骗编译器里让你做违法的事情而不产生警告,所以负担是程序员来确保他们返回地址是一个有效的变量在函数返回。
返回的地址通常是用来返回给调用者新分配的内存:
1
2
3
4
5
6
7
8
9
10
11
12
13
allocatearray整型(int nsize)
{
返回int [ nsize ];
}
国际main()
{
int * pnarray = allocatearray(25);
/ / pnarray做的东西
删除pnarray [ ];
返回0;
}
结论
大多数时候,返回值将满足你的需求。它也返回到呼叫者信息最灵活和最安全的方法。然而,通过引用或地址返回也可以是有用的,尤其是使用动态分配的类或结构的时候。当使用引用返回或地址,请确保你没有返回一个引用,或地址,一个变量,将超出范围时,该函数将返回!
相关文章推荐
- 动态规划(Dynamic Programming, DP)简介
- 用C#+AE实现ArcGIS中的字段统计功
- 解决 ERROR 1045 (28000): Access denied for user 'root'@'localhost'
- 关于 STLport,Boost和Qt的思考
- javascript Prototype constructor的理解(一)
- shell脚本程序编写1
- android布局中的fill_parent、wrap_content和match_parent的区别
- 第三周作业-循环与判断语句
- 王垠—写给清华大学的退学申请
- 浏览器探究——webkit部分——解析HTML(3)HTMLToken的处理
- 电梯调度系统最终版
- jQuery1.11源码分析(2)-----Sizzle源码中的正则表达式[原创]
- Sonatype Nexus 搭建Maven 私服
- 答读者问(1):有关如何选导师及研究生时间安排等问题
- cgroups分析与应用连载(一)
- 网络131作业
- 第四周作业-键盘输入数据 和 数据类型
- Spring操作mongo排序,限制查询记录数
- 浮点数转换成人民币读法字符串
- UIView中的子视图与父视图的关系