標準の文字列(別名std :: string + stringライブラリ)にいくつの文字が収まるかを知りたいので、変数kbsまたはプレーンテキストのmbsを格納する必要があります。C++文字列にはいくつの文字が入りますか?
ありがとうございました。
標準の文字列(別名std :: string + stringライブラリ)にいくつの文字が収まるかを知りたいので、変数kbsまたはプレーンテキストのmbsを格納する必要があります。C++文字列にはいくつの文字が入りますか?
ありがとうございました。
std::string
には、その実装のstd::string
の最大長を返すメンバー関数max_size()
があります。
このメソッドが静的ではない理由がありますか?私が想像することができるのは、実装では最大サイズを計算するときに実際のメモリ消費量を考慮することができますが、imhoはあまり使用されず、インスタンスを最初に作成しなければならないというデメリットをはるかに凌駕しないことです。 – user463035818
@ tobi303 'std :: string :: max_size'は静的プロパティを取得しません。文字列に使用されるアロケータの 'max_size()'関数を呼び出します。したがって、これは[Allocator'](http://en.cppreference。 com/w/cpp/concept/Allocator)が使用されています。私は二重チェックはしていませんが、自分の 'Allocator'を使わないと、デフォルト値は' 'std :: numeric_limits
ああありがとう私はアロケータについて忘れてしまった。 – user463035818
これは実装によって異なります。 std :: string :: max_size()を呼び出して見つけてください。
メモリにまとめて保存する必要がありますか? – dreamlax
std :: ropeは大きな文字列を操作するのに便利で、ディスク上の文字列を効率的に処理するためにmmapすることができます。 –
'std :: rope'? SGIにはロープクラスがありますが、(現在の)C++にはありません。 – MSalters