問題タブ [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 に答える
1268 参照

c - size_t の方が優れているのはなぜですか?

タイトルは実際には少し誤解を招くものですが、短くしたかったのです。size_t を使用する理由について読んだことがありますが、次のようなステートメントをよく見つけました。

size_t任意の配列を含む任意のオブジェクトの最大サイズを表現できることが保証されています

それが何を意味するのかよくわかりません。一度に割り当てることができるメモリの量に何らかの上限があり、size_t はそのメモリ ブロック内のすべてのバイトをカウントするのに十分な大きさであることが保証されていますか?

フォローアップの質問:
どのくらいのメモリを割り当てることができるかを決定するものは何ですか?

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

c - 割り当てることができるメモリの量を決定するものは何ですか?

これは、 size_tが必要な理由についての私の以前の質問のフォローアップです。

size_tは、割り当てることができるメモリブロックの最大サイズを表すのに十分な大きさであることが保証されていることを考えると(つまり、size_tよりも大きい整数が存在する可能性があります)、私の質問は...

一度に割り当てることができる量を決定するものは何ですか?

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

objective-c - Objective-C ランタイム: class_addIvar のサイズと配置には何を入れるべきですか?

Objective-C ランタイムは、class_addIvar C 関数を提供します。

私は何を置きsizeますalignmentか?

type のインスタンス変数を追加していますが、スコープ内にオブジェクトUITextPosition *がありません。UITextPositionのサブクラスはsizeどこsizeof(self)ですか? つまり、オブジェクトがオブジェクトと同じサイズであると仮定できますか?selfUITextFieldUITextPositionUITextField

どうすれば入手できalignmentますか?

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

c++ - タイプsize_tおよびptrdiff_tの変数

size_tとに関連するオンラインの投稿を読んでptrdiff_t、次のことを確認したいと思います。

  1. 配列の最大サイズが。未満の場合、同じオブジェクトへの2つのポインター間の相対距離1/2*(max number represent-able by size_t)を安全に使用ptrdiff_tして確認できますか?(配列について話していたので、「同じオブジェクトへのポインター」は「同じ配列へのポインター」を意味します) 。

  2. 別のポインタからのオフセットを表すことができる変数を宣言したい場合は、型として宣言する方がよいptrdiff_tでしょう。

  3. size_tタイプの変数をCおよびptrdiff_tC++で出力するにはどうすればよいですか?次は正しいですか:size_t型の変数のクロスプラットフォームフォーマット文字列?

  4. はORuintptr_tの単なる別名であり、 ?size_tとは別のタイプとして使用する必要があります。size_t

  5. ORの別の名前は別の方法で使用する必要がありssize_tますintptr_tか?ptrdiff_t

Ubuntuでgccを使い始めています。他の人のコードを使用しているときに、これらのタイプについて知りました。

追加:負のオフセットを使用できるようにしたい。そして、との使用uintptr_tに違いはありintptr_tますか?

0 投票する
7 に答える
2229 参照

c++ - sizeof(T)が生成できる最大値はどれくらいですか?

最初は思うかもしれませんがstd::numeric_limits<size_t>::max()、それだけの巨大なオブジェクトがあったとしても、それでも1つ過去のポインタを提供できるでしょうか。私はそうは思わない。それは、最大値sizeof(T)が得られる可能性があることを意味しますstd::numeric_limits<size_t>::max()-1か?私は正しいですか、それとも何かが足りませんか?

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

c - 符号なし値の N から 0 までのすべての値の反復処理

size_t で動作する同等のバージョンを作成しようとしている通常の符号付き整数に対して正常に動作するこのコードがあります (現在、start と count は int であり、size_t である必要があります) :

このコードは本当に単純な解決策としては十分に単純だと思いますが、私は空白を描いています。

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

ios - size_t を操作して CGFloat になるにはどうすればよいですか?

画像をスケーリングする比率を決定するために、次のコードを使用しています ( Trevor Harmon の UIImage+Resizeから借用)。

600 は、スケーリングされた画像に必要な最大サイズを表します。CGImageGetWidth と CGImageGetHeight は size_t を返します。これは、ARC によれば、iPhone プラットフォーム (iOS 5) では unsigned long に評価されます。現在のコードの問題は、ratio が常に 0.0000 と評価されることです。imageRef の幅と高さは実際には w=768、h=780 なので、比率は MAX(0.781, 0.769) = 0.78 になるはずです。どうすればいいですか?

PS UIImage の initWithCGImage:scale:orientation に上記のコードを使用すると、スケールが予想とは異なる動作をすることがわかりました。比率 0.78 を渡すと、画像が拡大されました。幅または高さを目的のサイズ (CGImageGetWidth(imageRef) /600 など) で割ると、問題が修正されました。

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

c - Cのsize_t型のmallocパラメーターの制限は何ですか?ドキュメントにはUINT_MAXの上限があると言われていますが、INT_MAXを超えることはできません

2.9GBのchar配列を割り当てたい

これにより、整数オーバーフローの警告が表示され、がmalloc返されますNULLmallocパラメータはタイプであり、 size_tドキュメントによるとタイプはです unsigned int

したがって、最大値はUINT_MAX少なくとも2.9GBである必要があります。MAX_INTしかし、私がmalloc失敗より多くを割り当てようとすると。size_tこれは、私のシステムでint型であることを意味 しますか?これを確認するにはどうすればよいですか?見た

しかし、の定義が見つかりませんsize_t。どうもありがとう

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

objective-c - size_tを作成し、サイズをカウントする方法は?

NSDataを作成し、関数を使用します

したがって、const void *変数のバイトを返します。手動でメモリを読み取ると、次のようになります。

使用strlenしないため、動作しません00。しかし、それは同じサイズになります:10ヘキサの長さ。したがって、手動でsize_tを作成するには、次を使用します。

または、ビット単位のサイズを使用しました。

これは正しいですか?

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

c++ - リンクされたリストのサイズを「__int64」から「size_t」に切り捨てます

10 個のバケットを作成して、基数ソート用の C++ コードを作成することに成功しました。10 個のバケットについては、次の方法で作成しました。

そしてそれは完璧に行われます。

しかし、今度はバケットの量を 100000 に増やす必要があります。これらのバケットのサイズを次のように変更しようとしました。

しかし、今回はそれらのバケットを作成することさえできないと思います。コードに Visual Studio を使用していますが、これは C++ です。コンパイラから次の警告が表示されました。

: 警告 C4305: 'argument': '__int64' から 'size_t' への切り捨て

: 警告 C4309: '引数': 定数値の切り捨て

インターネットで調べたところ、数が多すぎると誰かが言っていました。リンクされたリストでこれほど多くの数を処理するのは初めてです。このコードを再び機能させるには、何か変更する必要がありますか?

ありがとうございました。アイデアや助けをいただければ幸いです。