Resharper告诉我使用const与const

时间:2017-05-08 16:42:42

标签: c++ resharper const auto

在我的程序中,resharper告诉我每当我初始化一个const值时都应该使用auto,比如我声明的int charSize。当我知道我希望它是一个整数而不是任何其他数据类型时,为什么我应该使用auto而不是int,因为我不会从int类型更改该值。使用自动类型而不是直接类型更有效吗?

import React from 'react';
import ReactDOM from 'react-dom';

ReactDOM.render(

    <h1>This is my script</h1>

);

2 个答案:

答案 0 :(得分:2)

ReSharper只允许将显式类型更改为auto,它不希望您或告诉您这样做。请注意&#34;使用自动&#34;的严重性。检查设置为&#34; Hint&#34;默认情况下,意味着它不会在错误条带栏上显示,但如果您出于某种原因想要使用auto,则仍然可以选择调用相应的快速修复程序。如果您不想看到此检查,只需将其严重性设置为&#34;不要显示&#34;通过检查上下文菜单。

答案 1 :(得分:0)

没有&#34;自动类型&#34;。编写auto,因为C ++ 11启用了类型推导,所以对象仍然是int,但你的编译器会为你想出这个。

在这个例子中,没有任何好处;事实上,只是清楚并写出你想要的类型(IMO)远远优越。如果它不仅仅是错误的,Resharper在试图为你做出决定时超越了它的界限。

Resharper可能会感到困惑,并试图让您使用auto 存储类说明符(已删除)在C ++ 11)中,尽管对于const个对象,这仍然是块范围的默认值。