[解決済み] なぜstd::stouはないのですか?
2022-09-24 01:51:52
疑問点
C++11 では、いくつかの新しい文字列変換関数が追加されました。
http://en.cppreference.com/w/cpp/string/basic_string/stoul
stoi (string to int), stol (string to long), stoll (string to long long), stoul (string to unsigned long), stoull (string to unsigned long long) が含まれます。注目すべきは、stou (string to unsigned)関数がないことです。他のすべての関数が必要なのに、それが必要ないのは何か理由があるのでしょうか?
に関連しています。 C++11 では "sto{short, unsigned short}" 関数はないのですか?
どのように解決するのですか?
最も簡単な答えは、C ライブラリには対応する "
strtou
" がなく、C++11 の文字列関数はすべて C ライブラリ関数の薄いベールに包まれたラッパーに過ぎないということです。つまり
std::sto*
関数は
strto*
であり
std::to_string
の関数は
sprintf
.
編集: KennyTM が指摘するように、両方の
stoi
と
stol
を使う
strtol
という変換関数がありますが、なぜ
stoul
を使用する
strtoul
を使用する場合、対応する
stou
.
関連
-
[解決済み】 unsigned int vs. size_t
-
[解決済み】C++ - 適切なデフォルトコンストラクタがない [重複]。
-
[解決済み] 警告:暗黙の定数変換でのオーバーフロー
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] using namespace std;」はなぜバッドプラクティスだと言われるのですか?
-
[解決済み] 要素ごとの加算は、結合ループよりも分離ループの方がはるかに高速なのはなぜですか?
-
[解決済み] なぜテンプレートはヘッダーファイルでしか実装できないのですか?
-
[解決済み] なぜlist.join(string)ではなくstring.join(list)なのでしょうか?
-
[解決済み] ランダムな文字列を使用するこのコードは、なぜ "hello world" と表示されるのですか?
-
[解決済み] なぜ、オブジェクトそのものではなく、ポインタを使用しなければならないのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++でint型に無限大を設定する
-
[解決済み】C++エラーです。"配列は中括弧で囲まれたイニシャライザーで初期化する必要がある"
-
[解決済み】テンプレートの引数1が無効です(Code::Blocks Win Vista) - テンプレートは使いません。
-
[解決済み】'cout'は型名ではない
-
[解決済み】c++でstd::vectorを返すための効率的な方法
-
[解決済み] 非静的データメンバの無効な使用
-
[解決済み] 数値定数の前にunqualified-idを付けて、数値を定義することを期待する。
-
[解決済み】システムが指定されたファイルを見つけられませんでした。
-
[解決済み】警告 - 符号付き整数式と符号なし整数式の比較
-
[解決済み】変数やフィールドがvoid宣言されている