問題タブ [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.
c++ - webBrowserとfor()を使用したページの自動更新
Visual Studio 2010を使用していて、Webページに数回アクセスしようとしています。コード:
プロジェクトをデバッグして実行できますが、機能しません(単純なカウンターを使用してWebページにアクセスしてみました)。誰もが理由を知っていますか?
c++ - C++ でラムダ式と auto キーワードを使用する際の問題
C++ でラムダ式を使用する方法を学習しようとしています。
この簡単なコードを試してみましたが、コンパイル エラーが発生します。
エラー:
また、ラムダ式を自動変数にしようとしましたが、別のエラー セットが発生しました。
コードは次のとおりです。
これにより、次のエラーが発生しました。
これらはコンパイラの問題だと思いますが、よくわかりません。MinGW をインストールしたところ、gcc
4.6.2 を使用しているようです。
c++ - 末尾の戻り型の構文スタイルを新しいC++11プログラムのデフォルトにする必要がありますか?
C ++ 11は、新しい関数構文をサポートしています。
現在、この関数は次のように宣言されます。
新しいスタイルはまだ広く採用されていないようです(たとえばgcc stlで)
ただし、この新しいスタイルは、新しいC ++ 11プログラムのどこでも優先する必要がありますか、それとも必要な場合にのみ使用しますか?
個人的には、可能な限り古いスタイルを好みますが、スタイルが混在するコードベースはかなり醜いように見えます。
c++ - これは「newauto(enum_type)」のMicrosoft VC++2010コンパイラのバグですか
環境:SP1 Preminum(10.0.40219.1 SP1Rel)、WindowsXPSP3を搭載したMicrosoftVisualStudio 2010
VC10コンパイラはautoキーワードをサポートしていますが、推定されたタイプ関連の情報は、列挙に対して常に正しいとは限りません。
例:
上記のコードには、コンパイラ時エラーや実行時エラーはありません。しかし、私を驚かせたのは、エラーや警告なしで正常にコンパイルされますが、正しく実行されないことです。デバッガーは、終了後にmain関数に次のように通知します。
検出されたヒープ破損:0x00034878での%hsブロック(#55)の後。CRTは、ヒープバッファの終了後にアプリケーションがメモリに書き込んだことを検出しました。
したがって、コンパイラには「自動」型の推定にバグがある可能性があると思います。以下のアセンブラウィンドウは、最初の「operator new」呼び出しで要求されたメモリサイズが1バイトであり、2番目の「operatornew」呼び出しで要求されたメモリサイズが4バイトであることを示しています。これは、コンパイラが推定型のサイズに大きな間違いを犯したことを示唆しています。
これはコンパイラのバグだと思いましたか?また、Microsoftからのバグ修正はありますか?
c++ - C++11-非静的データメンバーを「auto」として宣言
C ++ 11では、非静的データメンバーが宣言で初期化されている場合、それらを「自動」として宣言できますか?例えば:
GCC 4.7は上記のコードを拒否しますが、を受け入れますint x = 5;
。
これがコンパイラのバグではなく、標準では実際には許可されていないと仮定すると、なぜでしょうか。ローカル変数を宣言するのと同じくらい便利ですauto
。
c++ - decltypeとautoの同等性
autoとdecltypeの両方がタイプを推測するために使用されるため、同じだろうと思いました。
ただし、この質問への回答は別のことを示唆しています。
それでも、完全に異なることはできないと思います。i
次の両方の場合でタイプが同じになる簡単な例を考えることができます。
では、autoとdecltypeが同等に動作する可能性のある状況は何でしょうか。
c++ - 単項マイナスが汎整数拡張を実行するのはなぜですか?
Tはテンプレート引数でありshort
、この場合はaです。単項マイナスは、明らかに汎整数拡張を実行します。
- 単項マイナスが汎整数拡張を実行するのはなぜですか?
auto
がに変更された場合T
、警告は生成されませんが、intをshortに割り当てる必要があります。警告がないのはなぜですか(VSが派手である可能性があります)?
c++ - 文字列リテラルを使用した自動
x
文字列リテラルが実際には配列であるのに、ポインタであると推定されるのはなぜですか?
ナロー文字列リテラルの型は「n
const char
の配列」 [2.14.5 文字列リテラル [lex.string] §8]
c++ - for ループの初期化での auto および decltype
私は喜んで次のように繰り返してきました
すべてのタイプを自動的に正しく取得します。g++ 4.7.1 では問題ありませんでしたが、バージョン 4.7.0 ではエラーが発生しました。4.7.1 はかなり新しいので、どのバージョンがバグを実装しているか、どのバージョンが標準であるかを知りたいです。また、4.7.0 (および std=c++0x の 4.6.3) は、テンプレートと組み合わせて使用した場合にのみ文句を言い、さまざまな使用法でさまざまなエラーを生成します。次のコードを参照してください。
および g++ バージョン 4.7.0 の出力
c++ - ベクトルを反復処理するときの自動vs具象タイプ?
私が読んでいる本は、反復するときにこの例を提供しますvector
vがとして宣言されていると仮定しvector<int> v
ます。つまり、このコレクション内の要素のタイプがであることがわかっていint
ます。
何らかの方法で使用auto
する方が良いですか、それとも優先されますか?
なんで?