std::string と int の連結
std::string と int を組み合わせて 1 つの文字列を形成すると、一見簡単な作業のように見えますが、いくつかの課題が生じる可能性があります。与えられた例に取り組んでみましょう。
std::string name = "John"; int age = 21;
これらの要素を「John21」に連結するには、いくつかのアプローチが利用可能です。
Boost を使用する
使用Boostのlexical_castでは、intを文字列に変換して追加できますit:
#include <boost/lexical_cast.hpp> std::string result = name + boost::lexical_cast<std::string>(age);
C 11 の場合
C 11 では、std::to_string 関数を使用して、int を文字列に変換する便利な方法が提供されます。
std::string result = name + std::to_string(age);
付きFastFormat
FastFormat は、文字列連結のための Format メソッドと Write メソッドの両方を提供します。
#include <fastformat/format.hpp> fastformat::fmt(result, "{0}{1}", name, age); fastformat::write(result, name, age);
{fmt} ライブラリを使用する
The { fmt} ライブラリは文字列の簡潔な構文を提供しますフォーマット:
#include <fmt/core.h> std::string result = fmt::format("{}{}", name, age);
IOStreams を使用する
IO ストリームの使用は、より冗長ですが標準的な C アプローチです:
#include <sstream> std::stringstream sstm; sstm << name << age; std::string result = sstm.str();
いとあとは
いとあ(Integer-to-String) は、int を文字列に変換する非標準の拡張機能です。
#include <stdlib.h> char numstr[21]; // Ensure sufficient buffer size std::string result = name + itoa(age, numstr, 10);
With sprintf
Sprintf も非標準ですint を文字列にフォーマットする拡張機能:
#include <cstdio> char numstr[21]; // Ensure sufficient buffer size sprintf(numstr, "%d", age); std::string result = name + numstr;
With STLSoft の integer_to_string
STLSoft は、int を文字列に変換するための特殊な関数を提供します。
#include <stlsoft/string_algo.h> char numstr[21]; // Ensure sufficient buffer size std::string result = name + stlsoft::integer_to_string(numstr, 21, age);
STLSoft の winstl::int_to_string
この機能は Windows に固有であり、効率的で安全な機能を提供します。変換:
#include <stlsoft/winstl/int_to_string.hpp> std::string result = name + winstl::int_to_string(age);
Poco NumberFormatter を使用
Poco の NumberFormatter は、数値を文字列としてフォーマットするために使用できます:
#include <Poco/NumberFormatter.h> std::string result = name + Poco::NumberFormatter().format(age);
要約すると、選択するアプローチは、特定の要件とプラットフォームによって異なる場合があります。 std::string と int を連結するための最適なソリューションを選択するときは、パフォーマンス、安全性、移植性を考慮してください。
以上がC で std::string と int を効率的に連結する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。