'type const &value' 和 'type const& value' 有区别吗?
Is there a difference between 'type const &value' and 'type const& value'?
题目基本都说了。我正在学习教程,其中显示 type const &value
,但 visual studio 一直自动将其更正为 type const& value
。
有区别吗?
有约定吗?
C++ Parses tokens 的方式规定这两个语句将被等同对待,生成的代码没有区别。
至于为什么 MSVC 一直对另一个进行自动更正,我真的认为 不应该,但我猜测它为什么会这样做是因为 MSVC 正在帮助您保留代码一致(这很重要!),并且假设您希望 代码以这种格式显示:type const& name
.
这种格式更容易识别为 C++,而另一种方法 type const &name
更像 C(尽管 C 没有引用;但它确实有指针和类似的声明 type const *name
也更明显是 C),而 MSVC 希望强制执行 C++ 风格。
但是又一次;它们之间没有功能上的区别。两者都有效,都可以编译,并且都具有相同的行为。
题目基本都说了。我正在学习教程,其中显示 type const &value
,但 visual studio 一直自动将其更正为 type const& value
。
有区别吗?
有约定吗?
C++ Parses tokens 的方式规定这两个语句将被等同对待,生成的代码没有区别。
至于为什么 MSVC 一直对另一个进行自动更正,我真的认为 不应该,但我猜测它为什么会这样做是因为 MSVC 正在帮助您保留代码一致(这很重要!),并且假设您希望 代码以这种格式显示:type const& name
.
这种格式更容易识别为 C++,而另一种方法 type const &name
更像 C(尽管 C 没有引用;但它确实有指针和类似的声明 type const *name
也更明显是 C),而 MSVC 希望强制执行 C++ 风格。
但是又一次;它们之间没有功能上的区别。两者都有效,都可以编译,并且都具有相同的行为。