問題タブ [size-t]
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++ - 矛盾する宣言
コードでtypedefを次のように定義しています
stddefと競合しています
これを回避する方法がわかりませんが、コードにsize_tを保持したいと思います。
c - Csize_tおよびssize_tの負の値
size_t
として宣言されてunsigned int
いるため、負の値を表すことはできません。
ではssize_t
、署名されたタイプのsize_t
権利はどれですか?
これが私の問題です:
なぜ私が得たのか:
結果として?これは符号なし型であるため可能である可能性があること
を私は知っていますが、なぜ私は??でも間違った結果を得たのですか?size_t
ssize_t
c - 数式の値として使用されるsize_t
これは、行を読み取る関数の短いスニペットです。bufsize
それが比較される可能性はどのようにあり((size_t)-1)/2
ますか?
私は変数を例えばと比較することを想像しました。int
-それは不可能です。逆にINT_MAXに対しては正しいと思います。では、そのコードは実際にどのように機能し、エラーを発生させないのでしょうか。
c++ - size_type が std::size_t よりも大きくなることはありますか?
std::allocator
を持つ標準コンテナは、size_type
として定義されていstd::size_t
ます。ただし、サイズを a で表すことができないオブジェクトを割り当てるアロケーターを使用することは可能size_t
ですか? 言い換えると、 asize_type
が よりも大きくなることはありsize_t
ますか?
c - size_t 型と sizeof 演算子を理解する際の問題
GCC コンパイラ出力:
このエラーが発生する理由がわかりません。size_t 型を表示する正しい方法は何printf
ですか?
c++ - ループでカウントするための符号付き値と符号なし値
したがって、プログラム内に、オブジェクトのベクトル(関連する場合は、定義したタイプのオブジェクト)を介した通常のforループがあります。
...そしてコンパイルすると、次の警告が表示されます。
これは理にかなっています。なぜならsize()
、ベクトルは。を返すと思うからsize_t
です。しかし、なぜそれが重要なのでしょうか?特定の数の要素(またはメモリチャンク)は、数えることができる整数ではありませんか?さらに重要なことに、私のプログラムにはそのようなループが複数あり、セグメンテーション違反が頻繁に発生するため、これはその一部である可能性がありますか?
c++ - なぜこのループは無限なのですか?
たとえば、頂点 0、1、および 2、エッジ (0, 1)、(1, 2)、および (2, 0) を持つ三角形で描画することになっているポリゴン エッジを描画するためのコードがあります。私はこれを次のように達成できると思いました:
...しかし、これにより k 値が無限ループに爆発します。私はこれを調べて、ここでのインデックス作成に問題がある可能性があると疑っていますが、すべてが j に依存している場合、おそらく vertices.size() が台無しになっていると思います。このコードに何か欠けているのでしょうか、それとも実際の頂点ベクトルをもっと詳しく調べる必要がありますか?
c++ - size_t型の値を持つポインターの追加
CheckPointerクラスの添え字演算子を定義しました。@param posのタイプはsize_tであるため、ユーザーが正の値を渡したのか負の値を渡したのかを確認できません。ただし、代わりに境界チェックを実行するコードを記述しようとすると、機能します。
なぜそれが機能するのかわかりません...誰かが私を助けてくれますか?
私の質問を検討していただきありがとうございます!
詳細については:
環境:Eclipse CDT、Ubuntu 10.04
テストコード:
test-code_output:
c - size_t を構造体から解放する方法
size_t 変数と char を持つ構造体の要素を解放しようとしています。次のような警告が表示され続けるため、size_t のものを解放するにはどうすればよいですか
キャストを作成する必要があることは理解しましたが、方法がわかりません! コードは次のとおりです。
na,ne,nc に関連する 3 つの警告が表示されます。私は何をスキップしていますか?ありがとう!
LE: みんなありがとう、私のプロジェクトは今動きます! ハッピーホリデー!
c - 2 つの size_t を減算するための型は?
2 つのオブジェクトのサイズの違いを表すために使用する必要がある C の型はどれですか?
size_t
署名されていないので、次のようなものです
明らかに正しくないでしょうし、署名された実際の同等物はないように私には思えます。
ptrdiff_t
魅力的に聞こえますが、
- その名前が示すように、ポインターを減算するためのものです。
- たとえば、DOS のようなセグメント化されたプラットフォームでは、16 ビットで表現できる最大オブジェクト サイズが 64k であると読みました。ただし、far ポインターは、16 ビットのセグメント値と 16 ビットのオフセット値で構成されます。
ptrdiff_t
そのようなプラットフォームでも 32 ビットになるのではないでしょうか? その場合、2 つのオブジェクトのサイズの違いは 16 ビットで十分ですが、ptrdiff_t を使用すると 32 ビット幅の変数が得られるため、最適ではありません。
では、そのような値を扱うのに適した移植可能な型は何でしょうか?
Edit:
私はssize_tについて知っていますが、それは
- 標準 C の一部ではありません。
- 実際にはそのような使用を意図したものではなく、サイズまたは (負の) エラー値を返すためのものです。