C ++函数式值传递

时间:2010-03-07 09:35:16

标签: c++ function field

首先,抱歉标题,但我真的不知道总结我想做什么。我正在尝试编写非常简单的“图形”控制台游戏,只是为了学习C ++的基础知识和编程。当我有一个函数时,我可以在调用它时将值或变量传递给该函数。但我想对这段代码做同样的事情,但不使用函数。当函数被调用时,程序必须实际跳转到函数,而不是返回。所以我想,只需要内置main函数就可以节省多少CPU,并且只是选择应该处理的代码。这可以通过将我想要处理的值传递给一些额外的变量并让“函数”处理该变量来完成,但由于我使用2维字段,我需要使用2个循环来实际将用户选择的字段复制到我的工作领域。所以我想知道的是,有哪些方法可以提高效率?再说一遍,对不起我的英语,很难用你不会每天说的语言描述一些东西。

2 个答案:

答案 0 :(得分:2)

您刚刚描述了内联函数(包括使用时的函数而不是跳转和返回)和引用(使用调用者的变量而不是复制到函数中)。

在条件允许的情况下打开优化器时,内联函数会自动发生。不用担心。

在您学习C ++的任何书中都应该阅读参考文献。它们被声明为int foo( int &callers_var );,可以像矩阵中的字段一样捕获。

正如罗杰所说,在你拥有一个功能性程序并且可以验证什么是慢速之前,永远不要优化。这是优化的第一条规则。

答案 1 :(得分:0)

内联函数是允许编译器避免函数调用开销的常用方法。然而,这听起来像是过早的优化,你的努力会更好地花在其他地方。代码示例可能有助于澄清您的需求。