您的位置:首页 > 其它

返回一个参考的内部

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;

}

结论

大多数时候,返回值将满足你的需求。它也返回到呼叫者信息最灵活和最安全的方法。然而,通过引用或地址返回也可以是有用的,尤其是使用动态分配的类或结构的时候。当使用引用返回或地址,请确保你没有返回一个引用,或地址,一个变量,将超出范围时,该函数将返回!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: