問題タブ [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 投票する
7 に答える
53338 参照

c++ - C ++ 11で「auto」を使用して推定した場合のラムダのタイプは何ですか?

ラムダのタイプは関数ポインターであるという認識がありました。次のテストを実行したところ、間違っていることがわかりました(デモ)。

上記のコードにはポイントがありませんか?そうでない場合、キーワードtypeofで推定されたときのラムダ式は何ですか?auto

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

c++ - 以前は`auto`は何に使われていましたか?

autoC ++ 11以前は、キーワードの意味がまったく異なっていたことを私は知っています。これは、自動ストレージタイプを持つ(つまり、スタックに配置される)オブジェクトを示すストレージタイプ指定子でした。

それが理論の流れです...実際にこのキーワード(構文)をどのように使用しますか、そしてその理由は何ですか?また、C++11より前の実際のコードではこのキーワードを見たことがありません。いつ役に立ちましたか(どの期間)?

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

c++ - C ++ 11の自動タイプは危険ですか?

重複の可能性:
C++0xのautoキーワードでは多すぎます
新しいキーワード「auto」。変数型を宣言するためにいつ使用する必要がありますか?

C ++ 11ではauto、たとえば、の代わりに変数を入力するとint、コンパイラは、初期化コンテキストから推測される正しい型を自動的に使用できます。これは、タイプが明白であるが書くのが退屈な状況で非常に便利です。知っておくべき落とし穴や、誰かがそれを使わないようにする理由はありますか?

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

c++ - auto from const std::vector<>&; オブジェクトまたは参照?

次のインターフェースを持つオブジェクトがあるとします。

今、私は次のautoような変数でプロパティにアクセスします:

の種類はchilds何ですか? または1へのstd::vector< something >参照?

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

c++ - auto キーワードを推定タイプ (clang または VS2010) に置き換えます。

「auto」の各インスタンスをコンパイラによって推定される型に置き換えるスクリプト、プラグイン、または実行可能ファイルを作成した人はいますか? どこでも auto を使用する C++11 コードを移植する必要があります。

Clang は私の最初の候補です。誰かがこのようなことをするためにそれを変更しましたか?

別の方法は、コンパイラからのエラーを解析することです。これは、予想される型がエラー出力に含まれている可能性があるためです。私は-Dauto=int戻ってくることができた"could not convert std::vector<int>::iterator to 'int'"

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

c++ - autoおよびconstオブジェクト

上記のコードで、コンパイラがgetFieldによって返されるv型としてshared_ptr<int>ではなく、の型を推定するのはなぜですか?const shared_ptr<const int>

編集: MSVC2010

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

c++ - 構造体定義が見つからない場合、自動は機能しません

構造体定義が欠落している場合、 gccでautoが機能しないことに少し混乱しています。例えば:

4 行目のどこで、コンパイラはvarが何であるかを判断できないと不平を言います。test が宣言されているので、それは簡単なことだと思いました。何か不足していますか、それとも gcc 実装のバグですか?

編集:

すみません、悪いです。ツールチェーンは古い/バグのある gcc 4.4 を使用していました。4.6 の使用を強制すると、魅力的に機能します。

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

c++ - C++11 auto での Wunused-but-set-variable 警告

以下のコードで、GCC v4.6 で -Wunused-but-set-variable 警告が表示されます。

警告は具体的には次のとおりです。

i要素のコピーである場合、警告は理にかなっていますvertexIndicesが、QListオブジェクト (STL 準拠の Qt コンテナー クラス) であるため、範囲ベースの for ループは begin() および end() イテレーター ゲッターを呼び出す必要があり、常に返されます。非定数イテレータ (コンテナが非定数である限り - それはそうです)。

C++11 の新しい機能を利用するようにコード ベースを変更しているため、現在、正常に機能しているかどうかをテストできません。そのため、まだ何もコンパイルされていません。しかし、この警告がナンセンスなのか、それとも自動ループと範囲ベースの for ループを誤解しているのか、誰かが教えてくれることを望んでいました...

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

c++ - auto &&は何をしますか?

これは、ScottMeyersによるC++11ノートサンプルのコードです。

理解に苦労していますauto&&
私はある程度の理解を持っています、それから私はそれがタイプを作るべきでautoあると言うでしょうauto& a1 = xa1int&

引用されたコードから、これは間違っているようです。

私はこの小さなコードを書き、gccの下で実行しました。

出力=4 (newline) 5
次に、8行目をとして変更auto&& a1 = x;して実行しました。同じ出力。

私の質問:auto&等しいauto&&
それらが異なる場合、何をしauto&&ますか?

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

c++ - Boost Spirit Auto Parserは、ダブルのタプルで失敗します

次のコードでは、Boost Spirit Auto Parserを1つまたは2つのdoubleに使用しようとしていますが、コンパイルされません。私はここで何が間違っているのですか?

コメント化された行はコンパイルされるため、 ;boost::tuple<double, double>の属性タイプとして受け入れられます。qi::double_ >> qi::double_ただし、属性タイプからパーサーを取得できません。なんで?