当一个类违反三五法则时,是否可能触发编译器警告?
这个特性听起来很容易实现,在安全关键软件中非常有用,但我在文档或谷歌搜索结果中找不到它的任何信息。
当一个类违反三五法则时,是否可能触发编译器警告?
这个特性听起来很容易实现,在安全关键软件中非常有用,但我在文档或谷歌搜索结果中找不到它的任何信息。
您可以在GCC中使用编译器标志-Weffc++,该标志与C++代码的有效性和可读性有关。
-Weffc++
没有捕获到这个。 - Ryan Hainingclang-tidy
可以捕获此类错误。给定这个文件:
// badstyle.cpp
class Type {
Type(const Type&) { }
~Type() { }
};
并且此命令:
$ clang-tidy badstyle.cpp -checks=cppcoreguidelines-*
badstyle.cpp:2:7: warning: class 'Type' defines a non-default destructor and a
copy constructor but does not define a copy assignment operator, a move constructor
or a move assignment operator [cppcoreguidelines-special-member-functions]
class Type {
^