因为默认参数是在调用者中处理的.编译器会根据标头自动添加缺少的参数.函数本身不需要该信息,并且提供两次只会调用不一致.如果你想在实现中也有它,你可以将它放在注释中,但是你必须保持同步(例如method1(int i, int j /*=2*/).作为替代方案,你可以提供两个重载,以便丢失的参数由履行
method1(int i, int j);
method1(int i);
method1(int i, int j) { ... }
method1(int i) { method1(i, 2); }
Run Code Online (Sandbox Code Playgroud)
这可能会略微降低性能,因为编译器可能无法内联1-arg调用,而它始终可以使用默认参数.
| 归档时间: |
|
| 查看次数: |
210 次 |
| 最近记录: |