首先,对标题感到抱歉,但我真的不知道如何总结我想做的事情。我正在尝试编写非常简单的“图形”控制台游戏,只是为了学习 C++ 的基础知识和一般的编程。当我有一个函数时,我可以在调用它时将值或变量传递给该函数。但我想对这段代码做同样的事情,但不使用函数。因为调用函数时,程序实际上必须跳转到函数,而不是返回。所以我想,如果将这个函数内置在 main 中并以某种方式选择该代码应该处理的内容,会更节省 CPU。这可以通过将我要处理的值传递给一些额外的变量并让该“函数”处理该变量来完成,但是由于我使用二维字段,所以我需要使用 2 个循环来实际将用户选择的字段复制到我的工作领域。所以我想知道的是,有没有什么方法可以更有效地做到这一点?再次,对不起我的英语,很难用你每天都不会说的语言来描述一些东西。
最佳答案
您刚刚描述了内联函数(包括使用时的函数而不是跳转和返回)和引用(使用调用者的变量而不是复制到函数中)。
如果条件允许,内联函数只会在您打开优化器时自动发生。不用担心。
无论您使用什么书来学习 C++,都应该阅读引用资料。它们被声明为 int foo( int &callers_var );
并且可以捕获诸如矩阵中的字段之类的东西。
正如 Roger 所说,在您拥有功能正常的程序并且可以验证缓慢的地方之前,不要进行优化。这是优化的第一条规则。
关于C++ 类似函数的值传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2395781/