問題タブ [auto]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
6720 参照

c++ - C++11でautoとdecltypeを使用する

現在受け入れられているc++11の機能を学習しようとしていますが、autoとdecltypeに問題があります。学習演習として、いくつかの総称関数を使用してstdクラスリストを拡張しています。

メンバーマップの場合、渡された関数が何を返すかに応じて、戻り型を汎用にする必要があります。したがって、リターンタイプの場合、このようなことを行うことができます。

これは、関数テンプレートのfloatタイプも削除する必要があります。

テンプレートクラスを使用することもできますが、リターンタイプを指定する必要があるため、インスタンスの使用がより冗長になります。

私の質問を要約すると、テンプレートクラスを使用せずにマップを定義し、それが返すタイプでジェネリックにする方法を理解しようとしています。

0 投票する
15 に答える
51333 参照

c++ - C++11 の auto キーワードではどれくらい多すぎますか?

私はauto、複雑なテンプレート化された型に対して C++11 標準で利用可能な new キーワードを使用してきました。しかし、私は次のようなことにも使用しています:

そして、より懐疑的に:

このトピックに関する議論はあまり見たことがありません。auto型は多くの場合、ドキュメンテーションおよびサニティ チェックの形式であるため、過剰に使用される可能性があるようです。この新機能を使用する際にどこに線を引きautoますか?また、この新機能の推奨される使用例は何ですか?

明確にするために:私は哲学的な意見を求めているわけではありません。標準委員会によるこのキーワードの意図された使用を求めています。おそらく、その意図された使用が実際にどのように実現されているかについてコメントしてください。

0 投票する
5 に答える
4029 参照

c++ - auto と decltype の関係

に相当

また

それともどちらでもない?

0 投票する
6 に答える
88246 参照

c++ - 新しいキーワード「auto」; 変数型を宣言するためにいつ使用する必要がありますか?

重複の可能性:
C ++0xautoキーワードでは多すぎます

私たちは(コミュニティとして)自動車が悪用されている時期やかどうかを判断するのに十分な経験を持っていますか?

私が本当に探しているのは、に関するベストプラクティスガイドです。

  • 自動を使用する場合
  • 避けるべきとき

80%のケースですぐに従うことができる簡単な経験則。

文脈として、この質問はここでの私の応答によって引き起こされます

0 投票する
1 に答える
35761 参照

c++ - C ++ 11自動:定数参照を取得した場合はどうなりますか?

次の簡単なコードを見てください。

私はautoこのように使用しようとしました:

これは、関数の戻り型である、my_fooへの定数参照になると思いました。Fooただし、のタイプautoFoo、参照ではなくです。さらに、my_fooをコピーして作成しg_tempます。この振る舞いは私にはそれほど明白ではありません。

への参照を取得するには、次のFooように記述する必要があります。

質問:なぜ参照ではなくオブジェクトとしてautoの戻り型を推測するのですか?GetFoo

0 投票する
8 に答える
159313 参照

c++ - C++ 自動キーワード。なんで魔法なの?

私が C++ を学ぶために使用したすべての資料から、auto常に何の役にも立たない奇妙な保存期間指定子がありました。しかしつい最近、それ自体を型名として使用するコードに遭遇しました。好奇心から試してみたところ、たまたま割り当てたものの型を想定しています!

突然、STL イテレーターや、テンプレートを使用するものはすべて、10 倍簡単に記述できます。Python のような「楽しい」言語を使用しているように感じます。

このキーワードは私の人生のどこにありましたか?ビジュアルスタジオ専用とか移植不可とか言って、私の夢を打ち砕く気か?

0 投票する
4 に答える
31072 参照

c++ - ラムダ関数で auto を使用する

上記の例をコンパイルすると、次のようなエラー出力が開始されます。

キーワードautoをラムダ式で使用してはならないということですか?

これは機能します:

auto キーワードを含むバージョンが機能しないのはなぜですか?

0 投票する
1 に答える
895 参照

c++ - テンプレート化された関数でautoとdecltypeを使用する

自動返品タイプのテンプレートを使用しようとしていますが、問題が発生しています。STLマップを受け入れ、マップ内のインデックスへの参照を返す関数を作成したいと思います。正しくコンパイルするために、このコードには何が欠けていますか?

(注:マップは0の整数割り当てで初期化できると想定しています。後で、ブーストコンセプトチェックを追加して、正しく使用されていることを確認します。)

この関数を呼び出すコードの例は次のとおりです。

0 投票する
3 に答える
7972 参照

c++ - ラムダでの再帰呼び出し (C++11)

重複の可能性:
c++0x の再帰ラムダ関数

次のように記述した場合、ラムダを再帰的に呼び出すことができないのはなぜですか。

コンパイル エラー ( ideone )が発生します。

エラーの意味は何ですか?

これを書けない理由が分かりました:

iの型は初期化から推測する必要があるiため、これを書くことはできません。しかし、ラムダの場合、それはどのように重要なのでしょうか? 私が間違っていなければ、ラムダの型はそのパラメーターと戻り値の型によって決まります。何も返さない場合は本体に依存しません (この場合、voidラムダ本体の他のステートメントに関係なく、戻り値の型は と推定されます)。

とにかく、回避策があり、std::function代わりに次のように使用できます。

罰金をコンパイルします(ideone)。autoしかし、バージョンがコンパイルされない理由を知りたいと思っています。

0 投票する
2 に答える
143 参照

c++ - 参照によって引き起こされた予期しないコピー構築:私は何を間違っているのですか?

OPCへの参照を作成しているだけなのに、のコピーコンストラクターが呼び出されている複雑なテンプレートコードがありますOPC(実際のインスタンスはOP_S、の子クラスとしてOPC、コピーコンストラクターの呼び出しにはならないはずです)。

gcc4.6.1を使用しています

コードは以下のとおりです。

以下のJamesMcNellisが指摘したように答えauto&てください-の代わりに必要ですauto