問題タブ [static-cast]
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++ - static_castを使用する理由(int)xの代わりに(x)?
static_cast
関数はCスタイルまたは単純な関数スタイルのキャストよりも優先されるべきだと聞きました。これは本当ですか?なんで?
c++ - void* をキャストするときに static_cast または reinterpret_cast を使用する必要があります
との両方がstatic_cast
、別のポインター型へのreinterpret_cast
キャストに対して正常に機能するようです。void*
どちらか一方を優先する正当な理由はありますか?
c++ - What's up with static_cast with multiple arguments?
Can anyone tell me what this cast has for effect (besides setting happyNumber to 1337), if any at all, and if it has no other effect, how come I can write code like this??? Is this a compiler bug, or some "hidden away feature" of C++?
I was surprised this would compile at all. I found it through a bug where I accidentally set the second parameter to something that was meant to go in a function call of the expression being cast. This resulted in a nasty bug where the object was cast from the second parameter, calling the function with only one argument. It compiled... And didn't initially boom...
I am using Microsoft Visual C++ 2008.
c++ - boost::shared_ptr を使用した static_cast?
static_cast
withに相当するものは何boost::shared_ptr
ですか?
つまり、次のようにどのように書き換える必要がありますか
を使用するshared_ptr
場合
c++ - C++ 構文の質問
次の構文はどういう意味ですか?
c++ - static_cast と Implicit_cast の違いは何ですか?
暗黙的な_キャストとは何ですか? static_cast よりも Implicit_cast を好むのはいつですか?
c++ - 構造体を unsigned char に変換 *
struct
以下をに変換するにはどうすればよいunsigned char*
ですか?
c++ - C++、異なるアドレスを持つ基本クラスを静的に検出しますか?
複数のベースを持つ派生クラスがある場合、各ベースの各 this ポインターは、1 つを除いて、派生オブジェクトの this ポインターとは異なります。継承階層に 2 つの型がある場合、それらが同じ this ポインターを共有しているかどうかをコンパイル時に検出したいと考えています。このようなものは機能するはずですが、機能しません:
それは「整数定数式」である必要があり、標準に従って整数キャストのみが許可されているためです(仮想継承が使用されていない場合、コンパイル時の情報のみが必要なため、これはばかげています)。結果を整数のテンプレート パラメータとして渡そうとすると、同じ問題が発生します。
私ができる最善のことは、起動時にチェックすることですが、コンパイル中に情報が必要です (いくつかの深いテンプレートハッカーを機能させるため)。
c++ - 建設中にこれをダウンキャストしても安全ですか?
特定のクラス (B) が常に 2 番目のクラス (D) に派生することがわかっているクラス階層があります。this
B のコンストラクターでは、構築全体が完了する前に誰も使用しようとしないことが確実な場合、ポインターを D* に静的にキャストしても安全ですか? 私の場合、オブジェクトへの参照をさらに別のクラス (A) に渡したいと考えています。
このコードは安全ですか?
c++ - 継承階層をトラバースするための静的キャストと動的キャスト
静的キャストを使用して継承階層をナビゲートする方が動的キャストを使用するよりも効率的であると述べているC++に関する1冊の本を見ました。
例:
ただし、動的キャストと静的キャスト(上記で実装)の両方で、このようなナビゲーションを機能させるにはRTTIを有効にする必要があります。動的キャストでは、クラス階層が多態的である必要があります(つまり、少なくとも1つの仮想関数を持つ基本クラス)。
静的キャストのこの効率の向上はどこから来るのですか?この本は、動的キャストがタイプセーフなダウンキャストを行うための好ましい方法であると述べています。