防止某些标准函数被调用

nim*_*cap 6 c++

由于某些原因,我们不应std::sort()在代码库中使用某些std函数(对于这些函数,我们有自己的实现)。

有没有一种方法可以防止调用这些函数,最好是在编译时引发一个错误?

我查看了重写的std函数,但它导致未定义的行为。

Dmi*_*don 5

您不应该尝试覆盖标准库中的更改函数,因为在第一种情况下您将违反 ODR,而在第二种情况下,您的项目中可能使用的某些第三方可能会受到影响。

我建议您为clang-tidy创建一个自定义检查并添加一个 CI 作业以在您的代码库上运行它。这需要一些时间,但我相信这是最好的选择。