在我的程序中,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>
);
答案 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
个对象,这仍然是块范围的默认值。