問題タブ [unions]

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 投票する
6 に答える
10681 参照

c - C の共用体に関する質問 - ある型として保存し、別の型として読み取る - 実装定義ですか?

私が理解している限り、K&R から C のユニオンについて読んでいましたが、ユニオン内の単一の変数はいくつかの型のいずれかを保持でき、何かが 1 つの型として格納され、別の型として抽出された場合、結果は純粋に実装定義されます。

次のコード スニペットを確認してください。

出力:

ここでは、 に値を代入していますが、とのu.ch両方から取得しています。実装定義ですか?それとも私は本当にばかげたことをしていますか?u.chu.i

他のほとんどの人にとっては非常に初心者に見えるかもしれませんが、その出力の背後にある理由を理解することはできません.

ありがとう。

0 投票する
11 に答える
7471 参照

c - ユニオン対ボイドポインタ

ユニオンとは対照的に、単にボイド*を使用することの違いは何でしょうか?例:

どちらもまったく同じことを達成するために使用できますが、ユニオンまたはボイド*を使用する方が良いですか?

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

c++ - ユニオン内の奇妙な動作クラス オブジェクト

こんにちは、次のコードの理由を知りたいです

上記のコードの場合、「error C2620: union 'Test' : member 't1' has user-defined constructor or non-trivial default constructor」というエラーが発生します

上記の場合、エラーはありません。

理由を知りたかった。

前もって感謝します。:)

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

c - 複合リテラルで匿名共用体を割り当てることは (合法的に) 可能ですか?

私は構造体を持っています:

次のような複合リテラルを割り当てようとすると、

gcc は次のような警告を表示します。

あいまいな可能性のある型に値を代入するだけで、コンパイラが確信を持てないことは明らかです。ただし、より正確に指定しようとしても、次のようになります。

私は得る:

(union <union name>)前に置くとうまくいくかもしれないと読んだことi:があります。しかし、私は匿名の組合を持つことを好みます。それを行う方法はありますか?

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

c++ - ユニオンメンバーはコンストラクタを持っていないかもしれませんが、`std::pair`は大丈夫ですか?

unionメンバーは、デストラクタまたはコンストラクタを持つことはできません。したがって、コンストラクターがある場合、次のクラスFooを自分でテンプレート化することはできません。MyClassMyClass

とにかくそれを行うと、次のエラーが発生します。

それを回避するためにMyClass、最初に物事をコピーする厄介な構築関数を作成しました。

createMyClassしかし、この関数を使用するよりも良い方法があるかどうか疑問に思っています。コンストラクターはより効率的であり、重要なコンポーネントとして、MyClassFoo<MyClass>のコードで何百万回も構築されます。

std::ペア

で使用できることに少し驚いています:std::pairunion

私の知る限り、std::pairコードを参照)コンストラクターはありますか?

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

.net - PInvokeはユニオン付きのCタイプを返します

結合された構造体を返すC関数をIP/呼び出しますか?

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

c++ - 動的割り当ての問題を回避するための共用体の使用

割り当てられたメモリを手動で管理することを避けるために、可変長構造を返す Win32 API にアクセスするときに共用体を使用することをお勧めします。

次の点を考慮してください。

これに大きな問題はありますか?

0 投票する
18 に答える
28187 参照

c++ - C:ユニオンは実際にどこで使用されていますか?

タイプのアラインメントが保証されている例があります。unionmax_align。友達を説明するために、ユニオンを実際に使用するさらに簡単な例を探しています。

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

c - 構造体の yacc での共用体の使用

文法メンバーのタイプを指定する方法について少し混乱しています。prog と decls を ASTNode として宣言したいと思います。リストなどに追加するためにこれらのメンバーを使用します。しかし、yacc はそれらを ASTNode として認識できず、タイプ エラーが発生します。

ここで私の tIdent,tCharConst,tIntConstant にはいくつかの型がありますが、メンバーに ASTNode 型を与える方法。

0 投票する
10 に答える
85064 参照

c++ - 匿名の構造体/共用体を使用してCコードをコンパイルする方法は?

私はこれをc++/ g++で行うことができます:

それで、

動作します。

gccを使用してcでこれをどのように行うのですか?私は持っています

しかし、特にエラーが発生します