問題タブ [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# - バイナリ ファイルを構造体に読み込む
C# を使用してバイナリ データを読み込もうとしています。読みたいファイル内のデータのレイアウトに関するすべての情報を持っています。データを「チャンクごと」に読み取ることができます。つまり、データの最初の 40 バイトを取得して文字列に変換し、次の 40 バイトを取得します。
わずかに異なるバージョンのデータが少なくとも 3 つあるため、データを直接構造体に読み込みたいと考えています。「一行ずつ」読むよりも、はるかに正しいと感じます。
私は次のアプローチを試みましたが、役に立ちませんでした:
ストリームは、私が読み取りを開始した、開いている FileStream です。AccessViolationExceptio
を使用すると nが得られMarshal.PtrToStructure
ます。
ファイルの末尾にあるデータには関心がないため、ストリームには読み込もうとしているよりも多くの情報が含まれています。
構造体は次のように定義されます。
この質問を短くするために、サンプルコードは元のコードから変更されています。
ファイルから構造体にバイナリデータを読み込むにはどうすればよいですか?
.net - .NETの構造体とクラスの違いは何ですか?
.NETの構造体とクラスの違いは何ですか?
python - Python の C ライクな構造
Python で C のような構造を便利に定義する方法はありますか? 私は次のようなものを書くのにうんざりしています:
java - Java の構造体のようなオブジェクト
オブジェクトのような構造体を作成するJavaの方法に完全に反していますか?
アクセサーとミューテーターが Java に似ているクラスを確認できます。
最初の例のクラスは表記上便利です。
これはあまり便利ではありません。
c# - 構造体のリスト内の要素の値を変更する
構造体のリストがあり、1 つの要素を変更したいと考えています。例えば :
ここで、1 つの要素を変更したいと思います。
ただし、これを試みるたびに、次のエラーが発生します。
System.Collections.Generic.List.this[int]' の戻り値は変数ではないため変更できません
クラスのリストを使用すると、問題は発生しません。
答えは、構造体が値型であることに関係していると思います。
したがって、構造体のリストがある場合、それらを読み取り専用として扱う必要がありますか? リスト内の要素を変更する必要がある場合、構造体ではなくクラスを使用する必要がありますか?
c++ - C++ でクラスと構造体を使用する必要があるのはいつですか?
C++ でstruct
a と aを使用する方がよいシナリオはどれですか?class
c# - 構造体がインターフェースを実装するのは安全ですか?
構造体がC#を介してCLRにインターフェイスを実装するのがいかに悪いかについて何かを読んだことを覚えているようですが、それについては何も見つからないようです。悪いですか?そうすることの意図しない結果はありますか?
c# - 構造体にクラスを含めることはできますか?
C#でクラス型のメンバー変数を持つ構造体を持つことは可能ですか? もしそうなら、情報はスタック、ヒープ、またはその両方のどこに保存されますか?
c++ - C++ の構造体とクラスの違いは何ですか?
この質問は、C#/.Net のコンテキストで既に尋ねられています。
ここで、C++ の構造体とクラスの違いを学びたいと思います。オブジェクト指向設計でどちらかを選択する理由と同様に、技術的な違いについても説明してください。
明らかな違いから始めます。
public:
またはを指定しない場合private:
、構造体のメンバーは既定でパブリックになります。クラスのメンバーはデフォルトでプライベートです。
C++ 仕様のあいまいな部分に他にも違いがあると確信しています。
c - GCC が構造体を最適化しないのはなぜですか?
システムでは、特定のプリミティブをメモリ内の特定のポイントに揃えることが要求されます (int から 4 の倍数のバイト、short から 2 の倍数のバイトなど)。もちろん、これらを最適化して、パディングで無駄なスペースを最小限に抑えることができます。
私の質問は、GCC がこれを自動的に行わないのはなぜですか? より明白なヒューリスティック (最大サイズ要件から最小サイズへの順序変数) が何らかの形で欠けていますか? 一部のコードは、その構造体の物理的な順序に依存していますか (それは良い考えですか)?
GCCは多くの点で非常に最適化されていますが、これはそうではありません.