【发布时间】:2019-02-09 12:38:29
【问题描述】:
ResharperC++ 建议将类方法设为 const,即使该方法中的数据是通过成员访问的。我知道将它们设为 const 是合法的,但我想知道是否有可能以某种方式禁用此建议,或者甚至更好地反转它,因此如果将此方法声明为 const,它会发出建议。
一个例子是
void test()
{
data->myData = 3;
}
ResharperC++ 的输出:Member function may be 'const'
P.S.我也不想提出关于 const 正确性的论点,但只是非常想知道如何实现这一点;)
【问题讨论】:
-
你不是在修改一个成员,而只是一个成员指向的东西,这在逻辑上是不是类的一部分,你必须决定
-
@user463035818 我知道这一点。我已经决定,现在我非常想修改 Resharpers 的建议;)我也知道这可能是不可能的。
-
propagate_const 这样做。
-
你不需要编译器支持,有在线实现,你可以使用直到它成为标准。
-
是的,here。
标签: c++ resharper-c++