小编plo*_*gue的帖子

使用c ++ 11重复代码

我目前正在开展一个项目,我有以下问题.

我有一个C++方法,我想以两种不同的方式工作:

void MyFunction()
{
  foo();
  bar();
  foobar();
}

void MyFunctionWithABonus()
{
  foo();
  bar();
  doBonusStuff();
  foobar();
}
Run Code Online (Sandbox Code Playgroud)

我不想复制我的代码,因为实际的功能要长得多.问题是,在调用MyFunction而不是MyFunctionWithABonus时,我不能在任何情况下向程序添加执行时间.这就是为什么我不能只有一个布尔参数,我用C++比较检查.

我的想法是使用C++模板来虚拟复制我的代码,但我想不出一种方法,我没有额外的执行时间,我不必复制代码.

我不是模板专家,所以我可能会遗漏一些东西.

你们有没有想法?或者这在C++ 11中是不可能的?

c++ templates c++11

80
推荐指数
6
解决办法
7533
查看次数

标签 统计

c++ ×1

c++11 ×1

templates ×1