【发布时间】:2015-10-20 17:25:58
【问题描述】:
我想知道返回值的函数和给指针设置值的函数的区别,例如:
指针:
int myVal;
ptr_multiply(5, 5, &myVal);
cout << myVal << endl; //Output: 25
返回:
int myVal = rtn_multiply(5, 5);
cout << myVal << endl; //Output: 25
我的问题集中在创建函数时选择什么方法以及为什么,以及我们可以在每个方法中找到哪些优点/缺点。
【问题讨论】:
-
我在 90 年代中期的大学课堂上问了这个问题。教授告诉我,一般来说,一个好的规则是如果函数不改变状态(您正在调用方法的对象或程序全局状态本身的状态)并设置指针(或引用),则使用 return如果是的话。我不记得为什么,但我记得他是形式规范(特别是 Z 语言)方面的专家,所以这可能与此有关。
标签: c++ function pointers return