覆盖std函数

6 c++ overriding std

我想覆盖std函数的行为,比如说std :: time.是否可以调用std :: time并通过我的自定义函数进行路由?

jal*_*alf 11

std一般来说,命名空间是不受限制的.向std命名空间添加新函数,重载,类或任何其他内容是**未定义的行为*.

唯一的例外是模板特.您可以在std命名空间中提供函数的特化.经常这样做的功能是std::swap.


Dim*_*ima 5

这听起来像个坏主意.有点像重新定义truefalse.更好的方法是编写自己的包装函数,比如说tim_time(),std::time()内部可能调用也可能不调用.