問題タブ [struct]
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# - 構造体がスタックに存在しないのはいつですか?
私はJonSkeetの書評を読んでいて、彼はHead First C#の多くの不正確さを調べています。
それらの1つが私の目を引きました:
[エラーセクションの下]構造体は常にスタック上に存在すると主張します。
どのような状況で構造体はスタックに存在しませんか?これは、私が構造体について知っていると思っていたものとは逆になります。
c# - 構造体のパラメーターなしのコンストラクターを非表示にする
C#でユーザーからパラメータなしのコンストラクタを隠すことは可能ですか?
常にパラメーター付きのコンストラクターを使用するように強制したい
たとえば、この Position 構造体
x 座標と y 座標を指定して、ユーザーが位置を新しくできるようにしたいだけです。
ただし、パラメーターなしのコンストラクターは常に使用できます。
私はそれをプライベートにすることはできません。または、パブリックとして定義することもできます。
私はこれを読みました: .NET で構造体の既定のコンストラクターを定義できないのはなぜですか?
しかし、それは本当に役に立ちません。
これが不可能な場合 - 渡された位置に値があるかどうかを検出する最良の方法は何ですか?
各プロパティ フィールドを明示的にチェックしますか? よりスマートな方法はありますか?
c++ - C++ 構造体フィールドから個々のフィールドのサイズを取得する
短いバージョンは次のとおりです。C++ フィールドの個々のフィールドのサイズ (ビット単位) を知るにはどうすればよいですか?
明確にするために、私が話している分野の例:
Test オブジェクト全体のサイズを取得するのは簡単です。
通常の構造体メンバーを取得できます
Test::field4 など、個々のフィールドのサイズを取得する方法を知りたいです。上記の通常の構造体メンバーの例は機能しません。何か案は?または、誰かがそれが機能しない理由を知っていますか? sizeof はサイズをバイト単位で返すだけなので、役に立たないことはかなり確信していますが、それ以外のことを知っている人がいれば、私はすべて耳を傾けます。
ありがとう!
performance - 構造体を参照渡しすることが一般的な最適化ではないのはなぜですか?
今日まで、構造体が十分に大きくて後者の方が高速である場合、適切なコンパイラは構造体の値渡しを参照渡しに自動的に変換するといつも思っていました。私の知る限り、これは非常に簡単な最適化のようです。しかし、これが実際に起こるかどうかという好奇心を満たすために、C++ とDの両方で簡単なテスト ケースを作成し、GCC と Digital Mars D の両方の出力を調べました。問題の関数は、渡された構造体を変更せずに、メンバーを追加して値を返しました。C++ バージョンは以下のとおりです。
int
私の質問は、これらすべてのs を実際にスタックにプッシュするのではなく、コンパイラがこのようなものを参照渡しに最適化しないのはなぜですか?
注: 使用されるコンパイラ スイッチ: GCC -O2 (-O3 inlined foo().)、DMD -O -inline -release。
編集:明らかに、一般的なケースでは、値渡しと参照渡しのセマンティクスは同じではありません。たとえば、コピー コンストラクターが含まれている場合や、呼び出し先で元の構造体が変更されている場合などです。ただし、多くの現実世界のシナリオでは、セマンティクスは観察可能な動作に関して同一です。これらは私が尋ねているケースです。
struct - 別の構造内にネストされた Clojure 構造
Clojureの構造内にネストされた構造を持つことは可能ですか? 次のコードを検討してください。
もちろん、これは不自然な例ですが、大きなデータ構造を小さなサブ構造に分割して、コードを管理しやすくしたい場合があります。コメントが示すように、フォーム 1 を実行すると「249 nil nil」が表示されますが、フォーム 2 を実行すると「コンストラクターを構築する引数が多すぎます」が表示されます。
この問題に間違った方法でアプローチしている場合は、何をすべきか教えてください。Clojure の Google グループを検索しても何も見つかりませんでした。
編集:
私の質問の文は、私が思っていたほど明確ではなかったと思います。
1.) Clojure である構造体を別の構造体内にネストすることは可能ですか? (下から判断すると、イエスです。)
2.) もしそうなら、正しい構文は何ですか? (繰り返しますが、下から判断すると、これを行う方法がいくつかあるようです。)
3.) 構造体が別の構造体内にネストされている場合、指定したキーで値を取得するにはどうすればよいですか?
私のサンプル コードは、私がしようとしていることをうまく示していなかったと思います。これをここに追加して、これを検索している他のユーザーがこの質問とその回答をより簡単に見つけられるようにします。
c - 誰かが Solaris の「dirent」構造体のこの定義を説明できますか?
最近、「dirent」構造 (dirent.h 内) を調べていて、その定義に少し戸惑いました。
注: このヘッダー ファイルは、私の学校の Solaris マシンのものです。
p>特に d_name フィールド。これはオペレーティング システムでどのように機能しますか? null で終了する文字列を格納する必要がある場合、単一の文字の配列は何に役立ちますか? 配列の最初の要素でアドレスを取得できることは知っていますが、まだ混乱しています。明らかに何かが起こっていますが、私には何が起こっているのかわかりません。自宅の Fedora Linux システムでは、このフィールドは単純に次のように定義されています。
明らかな理由から、これはより理にかなっています。Solarisヘッダーファイルが構造体を定義する理由を誰かが説明できますか?
c - int メンバーを C 構造体に追加するとセグメンテーション違反が発生する
私はまだCを学んでおり、それを使って画像を生成し始めました。私のプログラムの 1 つがセグメンテーション違反を起こしている理由がわかりません。ソースコードは次のとおりです。40行に短縮されています。
コンパイルして正常に実行されますが (Ubuntu では gcc を使用し、Cygwin を使用する Vista では)、img->o を扱う 2 行のコメントを外すと、問題が発生します。この前の質問に関連していると感じていますが、mallocする必要があるものはすべてmallocしています(と思います)。どんな助けでも大歓迎です。
c - 自己参照構造体の定義?
私は長い間Cを書いていなかったので、この種の再帰的なことをどのように行うべきかわかりません...各セルに別のセルを含めたいのですが、エラーが発生します。 「フィールド'子'のタイプが不完全です」の行。どうしたの?
c++ - このエラーはどういう意味ですか: 「エラー: 'type_name' の前に指定子修飾子リストが必要です」?
私はCellプロセッサに取り組んでおりspe_context_ptr_t
、スレッド内でspeコンテキストを起動するために使用される構造体を保持する構造体を作成しようとしています。スレッド内からの spu コンテキスト (現在、私はそれを汎用ポインターにしようとしていますが、実際には、私が定義した別の構造体へのポインターになります)。コンパイルしようとすると、次のエラーが発生します。