【发布时间】:2017-06-08 21:28:31
【问题描述】:
这样的代码是否被认为是一种不好的做法?
如果是这样,当func1 重复func2 的行为并且我需要同时存在这两个函数时我该怎么办(这不是认为代码冗余)吗?!
UPD:对不起,我的插图不好,我会尝试更清楚地解释这个问题。
我想问的是:
我正在尝试设计一个优化的类,它大量调用两个方法func1 和func2,func1 的实现使用func2,我希望这两个方法调用尽可能内联,是这样吗最好像这段代码一样从func1 调用func2,或者单独实现两者。
inline int func2(int x) {
return x * (x + 2);
}
inline int func1(int x) {
return x * (x + 1) * func2(x + 2);
}
【问题讨论】:
-
您是在问一个内联函数调用另一个内联函数是否是个坏主意?为什么你会认为这是一个坏主意?
-
如果你需要两个函数,那么根据定义,这不是多余的。如果它们是多余的,则不需要两个函数。
-
这个问题有很多问题,我什至不知道从哪里开始。 1)您的标题提到了内联函数。
inline函数在哪里? 2)“需要同时存在这两个功能”。等等? 3)你提到func1()复制func2。副本在哪里? -
抱歉我的插图不好,我更新了帖子。希望问题现在很清楚
标签: c++ optimization inline-functions