C++ 11で、変数タイプにautoを使用することをお勧めします。
クラスとベクターのような型を初期化するときにも適用されますか?自動でC++ 11の初期化
私たちは次のように書くべき意味:
auto a = 10;
auto b = MyClass();
auto c = vector<int>{1, 2, 3};
の代わり:
auto a = 10;
MyClass b;
vector<int> c = {1, 2, 3};
C++ 11で、変数タイプにautoを使用することをお勧めします。
クラスとベクターのような型を初期化するときにも適用されますか?自動でC++ 11の初期化
私たちは次のように書くべき意味:
auto a = 10;
auto b = MyClass();
auto c = vector<int>{1, 2, 3};
の代わり:
auto a = 10;
MyClass b;
vector<int> c = {1, 2, 3};
auto
は今、それはなります
VeryLongClassName *object = new VeryLongClassName();
のようなものを簡素化するだけで便利なショートカットです
auto *object = new VeryLongClassName();
しないでください
int a = 10;
MyClass b;
vector<int> c;
ありがとうございました。しかし、@nosidによって与えられたリンクでは、Herb Sutterはほぼすべてを "auto"に奨励しています。だから、私はこのスタイルをしばらく試してみて、それが私の生産性に影響を与えるかどうかを見てみましょう。 – user350954
さて、私はハーブサッターを読んだことがあります。彼は**ほとんどの場合、常に怠惰、コミットメント、読みやすさの3つの理由を挙げています。そして私は彼に完全に同意します。しかし、これらの理由のどれもあなたのコードサンプルには示されていません。本当に怠け者であれば、より複雑なコードを書くことはありません。読みにくいです:)あなたのサンプルには、**常に**の部分ではなく**ほとんどの**が表示されます。 –
@ mas.morozov、自動a、b、cを使用すると、より読みやすくなります**可読性** IMHO – Zhen
よりも読むのが大変長く、ため
を書く理由はありません。あなたはすでに型を書いているので、 'auto'を使っても意味がありません。 –
Herb Sutterは、 'auto'の使用を強く推奨します。次の記事を参照してください。[GotW#94解決法:AAAスタイル(ほぼ常に自動)](http://herbsutter.com/2013/08/12/gotw-94-solution-aaa-style-almost-always-auto/) – nosid
@KarolyHorvarthあなたの答えは本当に理にかなっていますが、nosidによって与えられたリンクは、「自動」の結果がよりクリーンなコードになると主張しています。 – user350954