問題タブ [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.

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

c++ - size_tはワードサイズですか?

size_tコードをコンパイルしたマシンのワードサイズはありますか?

g ++で解析すると、私のコンパイラはをと見なしsize_tますlong unsigned int。コンパイラは内部でサイズを選択しますかsize_t、それとも実際には、コンパイラが呼び出される前に、size_tプリプロセッサマクロ内でワードサイズにtypdefされますか?stddef.h

それとも私は軌道から外れていますか?

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

c - intをsize-tに変換して、数値のオーバーフローを回避していますか?

grepの次の脆弱性レポートと、すべてのとがに置き換えられた関連するコミットを読みました。integerunsigned integersize_t

unsigned integer簡単な質問があります。番号のオーバーフロー(または他のタイプの攻撃)を回避することで置き換えていますか?それが理由である場合は?(実際、の定義はsize_tであると信じていたため、何が変わるかわかりません)。size_ttypedef unsigned int size_t;

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

c++ - エラー:式にはsize()のクラスタイプが必要です

コードは、2つの文字列が同じパターンを持っているかどうかを判断しようとします。

質問: 1行目と2行目の2回試行しましたが、どちらも機能しませんでした

1行目、エラー:クラス「...」にはメンバー「size_t」がありません

2行目:エラー:char*s2式はクラスタイプである必要があります

何か案は?

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

ubuntu - 一部のマニュアルページが見つかりません

Ubuntu12.04..。

私は数年前にfedoraを持っていて、そこで次のmanページを見ました...

私はこれを試しました...

man unistd

しかし、それは見つかりませんでした:(

それらのページはUbuntuにはないと思います。

man stdio作品や他のマニュアルページがありますが。

それで

  • Ubuntuにそれらのページがない場合は、ダウンロード方法を教えてください
  • そして、標準のtypedefのマニュアルページsize_t、つまりpid_t、、off_tなどのマニュアルページを表示するためのコマンドは何ですかclock_t

試しman stddefましたが見つかりませんでした...

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

c++ - size_t に割り当てられた負の数を検出する方法は?

この宣言は、g++ -pedantic -Wall (バージョン 4.6.3) で警告なしでコンパイルされます。

あまり目立たない偽物は、size_t 引数を指定して関数を宣言し、負の値で呼び出すことです。そのような関数は、不注意による否定的な引数 (§4.7/2 に従って、非常に多くの京のように見える) から保護できますか?

不完全な回答:

size_t を (signed) long に変更するだけでは、size_t のセマンティクスやその他の利点が破棄されます。

それを ssize_t に変更することは、標準ではなく、単に POSIX です。

これを ptrdiff_t に変更すると脆弱で、壊れることがあります。

巨大な値 (上位ビット セットなど) のテストは任意です。

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

c++ - size_t または ssize_t を使用する必要があります

私のコードでは、int または unsigned int を使用していません。ポータブルには size_t または ssize_t のみを使用します。例えば:

なぜなら・・・全部使うstrlenので普段は使ってstringます。そして、それがマイナスになる可能性がある場合にのみ使用します。vectorsize_tsize_tssize_t

しかし、私はそれを見つけます:

符号なし整数型は、ストレージをビット配列として扱う用途に最適です。int の代わりに unsigned を使用して、正の整数を表すビットをもう 1 つ取得することは、ほとんど良い考えではありません。符号なしの変数を宣言することによって一部の値が正であることを保証しようとする試みは、通常、暗黙的な変換規則によって無効になります。

The C++ Programming Languageという本の中で。

だから私は困惑しています。私が間違っている?STL が本の提案に従わないのはなぜですか?

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

c++ - ssize_t または size_t をキャストする

私のプロジェクトで使用しているソース ファイルには、変数ssize_tsize_t変数の比較があります。

警告を取り除きたい:

しかし、よくわかりません。どの変数を他の変数にキャストする必要がありますか?

また

より安全で、より良く、よりクリーンなものは何ですか? ありがとう

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

c++ - size_t が uint でないのはいつ/どこで/なぜですか?

uintの代わりにを使用することについて多くの批判を受けてきましたが、使用してsize_tいるツールチェーンを確認するたびに、 がsize_tとして定義されていることがわかりuintます。

size_t実際にはではないコンパイラの実装はありuintますか? その批判の根拠は何ですか?