- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
以下模板
template<typename Data, typename Number>
int compute(Data d, Number n) {
if(n > 10) SLOW(d)
if(n < 30) EXPENSIVE(d)
if(n < -10) .. if(..) // etc.
return d.abc();
}
有时用 Number n
调用动态计算:compute(data, runtime_number)
,有时使用编译时已知参数:compute(data, 3)
.
如果我不相信编译器会优化后一种情况(有或没有内联),但相信它足以使 if(false)
block 消失了我将不得不复制大量代码并编写 compute<12>(data)
模板。除了代码重复,compute(data, number)
只是更好,更直观地使用。
有没有办法统一这两者?
编辑:这更多的是关于模板,或者如果你愿意的话,模板滥用,而不是关于编译器可以应用于这种情况的优化。
最佳答案
什么都不做。编译器足以优化一切。
关于c++ - 互换 func<7>(42) 和 func(42, 7) 模板参数语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19138057/
假设我有两个名为Student和Employee的结构(或类),并且Student和Employee具有完全相同的成员。 我的问题是,为什么我不能执行以下操作: Student s; Employee
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: Hashset vs Treeset 你可以使用 HashSet和TreeSet可以互换吗?如果我交换TreeSet
页面上有一个值为“button1”的按钮。当按下时,它必须删除自身并添加值为“button2”的新按钮。当按下“button2”时,它必须删除自身并添加“button1”回来。有点无限循环。 我知道只
以下模板 template int compute(Data d, Number n) { if(n > 10) SLOW(d) if(n (data)模板。除了代码重复,comput
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
我是一名优秀的程序员,十分优秀!