出于某些原因,我们不应在代码库中使用某些标准函数(例如std::sort())(我们拥有自己的实现)。

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

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

最佳答案

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

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

关于c++ - 防止某些标准函数被调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57588918/

10-13 01:52