2016-07-22 9 views
0

autoを可能な限り使用することをお勧めします。そうすれば、コード内のデータ型の変更がより柔軟になりますか?レンジベースのforループを使用する場合は、常にautoを使うのが効率的なので、戻ってデータ型forループを変更する必要はありませんか?柔軟性のためのC++自動キーワード

+3

間違いなく:https://herbsutter.com/2013/08/12/gotw-94-solution-aaa-style-almost-always-auto/ – CinCout

+1

ハーブははいと言います。私はほとんどの場合(範囲ベースまたはラムダ)。私は完全に 'いつも'の部分について確信していません。特にタイプが明白でない場合、コードを明示的にすることで、コードを読みやすくなり、冗長性もエラーを捕捉できることを忘れないでください。 – MikeMB

答えて

1

要するに、はい。詳細はAAAを参照してください。しかし、このようないくつかの例に注意してください。

int x = 4; 
int& ref = x; 
auto y = ref; 

yは今intないconst intあるintないint&

const int x = 5; 
auto y = x; 

yされます。

+0

これらのケースが望ましくない成果を生み出す方法の例を挙げることはできますか? –

+0

私はちょうどあなたがautoがその& constを持つ型を正確に得ると考えるかもしれないことを強調したいと思いました。そうではない。したがって、最初の例では、参照をコピーするだけでなく、詳細コピーを作成します。 –

+0

@HumamHelfawiまあ、それはあなたが 'auto&'を書くことができるかのように私が期待する動作です。 – CoffeeandCode

関連する問題