C++Builder 2009からBoostが標準添付されて、とても使いやすくなりました。
boost::lexical_castは、数値と文字列の相互変換を行う関数です。
型によって関数を使い分ける必要がなく、同じように書くことができます。
#include <string>
#include <boost/lexical_cast.hpp>
using namespace std;
int n = boost::lexical_cast<int>("3");
string s = boost::lexical_cast<string>(123);
『C++テンプレートテクニック』には戻り値の型を推論することで、型の指定を不要にする方法が紹介されています。
次のようなコードを書くことができます。
int n = lexical("3");
string s = lexical(123);
詳しくは『C++テンプレートテクニック』をご覧下さい。
Pingback: sprintfとバッファオーバーフロー | piroshikiのサイト