問題タブ [sizeof]

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

c++ - 関数に特定のサイズの配列パラメーターがある場合、なぜポインターに置き換えられるのですか?

次のプログラムを考えると、

出力

  1. 配列が最初の要素へのポインタとして渡されるのはなぜですか?
  2. それはCからの遺産ですか?
  3. 基準は何と言っていますか?
  4. C++ の厳密なタイプ セーフが削除されたのはなぜですか?
0 投票する
2 に答える
22812 参照

c# - サイズの計算におけるMarshal.SizeOfエラー

私は構造を持っています

次のエラーが発生します

System.ArgumentExceptionは未処理でしたMessage="Type'SERVER_USB_DEVICE'は、アンマネージ構造としてマーシャリングできません。意味のあるサイズやオフセットを計算できません。"

次の行で

コードの何が問題になっていますか?

アブドゥル・ハリク

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

c - C でのポインター実装の詳細

以下にリストした仮定に違反するアーキテクチャを知りたいです。また、すべてのアーキテクチャで間違っている仮定があるかどうか (つまり、完全に間違っている仮定があるかどうか) を知りたいです。

  1. sizeof(int *) == sizeof(char *) == sizeof(void *) == sizeof(func_ptr *)

  2. 特定のアーキテクチャーのすべてのポインターのメモリー内表現は、指すデータ型に関係なく同じです。

  3. ポインターのメモリ内表現は、アーキテクチャと同じビット長の整数と同じです。

  4. ポインター データ型の乗算と除算は、コンパイラによってのみ禁止されています。注: はい、これが無意味であることはわかっています。つまり、この誤った使用法を禁止するハードウェア サポートはありますか?

  5. すべてのポインター値は、単一の整数にキャストできます。言い換えれば、セグメントとオフセットをまだ利用しているアーキテクチャは何ですか?

  6. ポインタをインクリメントすることはsizeof(the pointed data type)、ポインタによって格納されたメモリ アドレスに加算することと同じです。が の場合、pは の4 バイト後のメモリ アドレスに等しくなります。int32*p+1p

私は、連続した仮想メモリ空​​間で使用されるポインターに最も慣れています。その使用法については、通常、それらを数直線上のアドレスと考えることで得ることができます。スタック オーバーフローの質問ポインターの比較を参照してください。

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

c - sizeof float (3.0) 対 (3.0f)

sizeof(3.0) と sizeof(3.0f) の違いは何ですか?

私はそれらの両方が同じ結果(sizeof float)を与えることを期待していました..しかし、それは異なります。

32 ビット マシン、gcc コンパイラでは、sizeof(3.0f) =>4 sizeof(3.0) => 8

なんでそうなの?

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

c++ - 仮想関数を持つ基本クラスから継承するクラスのsizeof

次のコードフラグメントの場合。

私が気付いたように見える動作は、空のクラスがインスタンス化されるか、空のクラスがバイト境界から継承されるときはいつでも考慮されない(つまり、サイズ1バイトのオブジェクトが許可される)場合、他のすべての場合、オブジェクトサイズは次のように決定されるようです。バイト境界。

これの理由は何ですか?この時点で私は推測しているので、私は尋ねます。

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

asp.net - レンダリング時の div タグの高さをプログラムで決定するにはどうすればよいですか?

ページを読み込んで、すべてのコンテンツが追加されたら、その高さを確認し、それを隠しパラメータとして後で取得できるようにしたいと考えています。これを行う方法はありますか?

[注] 明確にするために、この n コード ビハインドを実行する必要があります。これは、webrequest オブジェクトを介して取得する必要があるためです。

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

c++ - 文字列リテラルのサイズ

次のコード

出力

GCCでコンパイルされた32ビットOS。

  1. sizeof文字列リテラルの長さ(に必要なスペース)を計算するのはなぜですか?
  2. 文字列リテラルは、与えられたときに(char *またはchar[]とは)異なるタイプになりsizeofますか?
0 投票する
11 に答える
34533 参照

c - sizeof を使用せずに変数のサイズを見つける方法

特定のデータ型 (int、char、float、または double) の変数 'i' を宣言したと仮定しましょう ...

注:単に 'i' が宣言されていると考えてください。それが int、char、float、または double のデータ型であるかどうかは気にしないでください。私は一般的な解決策が必要なので、変数 'i' は int、char、float、または double のいずれかのデータ型にすることができると簡単に述べています。

sizeof 演算子なしで変数 'i' のサイズを見つけることができますか?

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

c - sizeof が演算子と見なされるのはなぜですか?

sizeof関数ではなく演算子と見なされるのはなぜですか?

オペレーターとしての資格を得るために必要なプロパティは何ですか?

0 投票する
6 に答える
4977 参照

c++ - 構造体メンバーのサイズを決定するための一般的な C/C++ マクロは何ですか?

C/C++ で、構造体型のダミー変数を定義せずに、構造体のメンバー変数のサイズを決定するにはどうすればよいですか? 間違った方法の例を次に示しますが、意図を示しています。

参考までに、最初にダミー変数を定義する場合、これは「x」のサイズを見つける方法です。

ただし、「x」のサイズを取得するためだけにダミー変数を作成する必要がないようにしたいと考えています。0 を myStruct_t として再キャストしてメンバー変数 'x' のサイズを見つけるのに役立つ賢い方法があると思いますが、あまりにも長いので詳細を忘れてしまい、これについては適切な Google 検索を取得できないようです. あなたは知っていますか?

ありがとう!