問題タブ [value-initialization]
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++ - C++ の適切な新しい使用法?
これは new 演算子の適切な使用法ですか? 私の知る限り、前のコードは配列内の各要素を 0 に初期化します。
コードの 2 行目は配列を初期化するだけで、値を 0 に設定していませんか?
c++ - ユーザー定義型を組み込み型のように*正確に*初期化する方法は?
数値型をラップする (および追加機能を提供する) 型を作成したいと思います。
さらに、数値とラッパーの両方を暗黙的に相互に変換できるようにする必要があります。
これまでのところ、私は持っています:
ほぼ問題ありませんが、組み込み型とまったく同じようには動作しません。
Wrapper
そのようなステートメントを設計する方法はありますか
value
内部を初期化しますが、次のようなステートメントを強制することはありません
また、同じことをしますか?
つまり、初期化に関して組み込み型とまったく同じように動作する型を作成することは可能ですか?
spring - Spring で自動配線された @Value フィールドを Mockito でモックするにはどうすればよいですか?
Spring 3.1.4.RELEASE と Mockito 1.9.5 を使用しています。私の春のクラスには次のものがあります。
現在、次のように設定しているJUnitテストから:
「defaultUrl」フィールドの値をモックしたいと思います。他のフィールドの値をモックしたくないことに注意してください。「defaultUrl」フィールドのみをそのままにしておきたいのです。また、私のクラスには明示的な「セッター」メソッド (例: setDefaultUrl
) がなく、テストのためだけにメソッドを作成したくないことにも注意してください。
これを考えると、その 1 つのフィールドの値をモックするにはどうすればよいでしょうか?
c++ - VS2013 リストの初期化
コードを検討する
このコードは $8.5.4/3 でガイドされていると思います
代わりに、VS2013 コンパイラはすべての 0xCCCCCCCC を発行します。これは、b.member のすべての要素が初期化されていないままであることを意味します。したがって、値の初期化ではなく、デフォルトの初期化を実行しているようです。
何か不足している場合はお知らせください。
c++ - 値の初期化はなぜそのように名付けられたのですか?
なぜ誰かが特定の形式の初期化を「値の初期化」と呼ぶのか、私には本当にわかりません。オブジェクトに値を与えることでオブジェクトを初期化しているように聞こえますが、それは一般的に初期化が行うことであり、初期化に使用する値については名前からは何もわかりません。
c++ - Foo({}) が Foo() ではなく Foo(0) を呼び出すのはなぜですか?
コードからのclang 3.5.0およびgcc 4.9.1によって生成された実行可能ファイル
コメントどおりに動作します。
cppreference から: cpp/language/list initialization :
タイプ T のオブジェクトのリスト初期化の効果は次のとおりです。
T
が集約型の場合、集約の初期化が実行されます。それ以外の場合、braced-init-list が空であり
T
、デフォルトのコンストラクターを持つクラス型である場合、値の初期化が実行されます。
Foo({})
デフォルトのコンストラクターを呼び出す必要があると結論付けました。
バグはどこ?
c++ - 列挙型の値初期化の動作
まず、cppreference.com によると、列挙型を値で初期化することはやや不可能です。
http://en.cppreference.com/w/cpp/language/value_initializationによると、列挙型を値で初期化すると、実際にはゼロ初期化が実行されます。次に、http://en.cppreference.com/w/cpp/language/zero_initializationによると、列挙型をゼロ初期化する効果は次のとおりです。
がスカラー型の場合
T
、オブジェクトの初期値は、暗黙的に に変換された整数定数ゼロT
です。
ただし、整数定数ゼロは暗黙的に列挙型に変換できません。最終的に、列挙型を値で初期化することはできません。これは奇妙に聞こえますが、enum の値の初期化は VC、GCC、および clang で機能します。それで、標準はこれについて何と言っていますか?
次に、http ://en.cppreference.com/w/cpp/language/static_cast によると:
整数、浮動小数点、または列挙型は、任意の完全な列挙型に変換できます (結果は未定義です (C++17 まで) 未定義の動作 (C++17 以降) 式の値が列挙型の基になる型に変換される場合) 、対象の列挙値の 1 つではありません)
それで、これは、列挙型を値で初期化すると(それが機能する場合)、ターゲット列挙型に等しい列挙子がない場合、実際には未定義の動作につながる可能性があることを意味します0
か?
c++ - Standard-C++ で T * 初期化された一時的な値を作成する方法
T*
標準C++で初期化された一時的な値を作成する方法は?
ただの好奇心から。