【问题标题】:ResharperC++ suggests to make method constResharperC++ 建议将方法设为 const
【发布时间】: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++


【解决方案1】:

如果您想仅针对此特定事件禁用检查,您可以要求 ReSharper 插入将禁止检查的注释。为此,请在Alt+Enter 上下文菜单的检查子菜单中单击“使用注释禁用一次”。详情请见Suppressing code inspections in specific scope

【讨论】:

  • 不,这是一个普遍的问题
猜你喜欢
  • 1970-01-01
  • 2013-11-17
  • 1970-01-01
  • 2010-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-26
  • 2020-02-23
相关资源
最近更新 更多