1

在 C++ 中,给定替代方案:

void fun(int arg1, int arg2opt = 0);

// vs.

void fun(int arg1, int arg2);
void fun(int arg1) {
  fun(arg1, 0);
}

想要使用此功能的用户代码是否有任何差异,也就是说,给定任何代码库,当我将第一个定义更改为第二个定义时,哪些代码构造会中断(在编译时或运行时)?(重载解决方案?名称查找?分配fun给函数指针?模板中的用法(std::function)?...)

或者这些在语义上是否相同?(这里有一些我知道的细节,与这个问题无关)

4

1 回答 1

-1

我认为这个链接对开始很有用,但是你提到template了,我有经验template,如果你的程序很有成效,没有时间学习学习模板,请停下来,在假期学习模板。它没有任何quick ref 和它的错误有点不同OOD/P,但是如果你有时间,那就开始吧。

于 2013-09-13T05:14:45.370 回答