我正在读另一个问题,它让我思考。标准通常指定在其描述中具有默认参数的函数。标准是否允许将这些作为重载写入?
例如,标准说明了这一点 std::basic_string::copy
有以下声明:
size_type copy(Ch* p, size_type n, size_type pos = 0) const;
标准库的符合实现是否可以实现这两个函数?
size_type copy(Ch* p, size_type n, size_type pos) const;
size_type copy(Ch* p, size_type n) const;
在此示例中,第二个版本可以跳过 if(pos > size()) { throw out_of_range(); }
第一个必要的测试。微观优化,但你仍然看到了例子的重点。