c++のstd::to_stringを使ってみる

こんにちは。ヤマヤタケシです。
stlのアルゴリズムからは外れますが、 std::to_string っていう機能がc++11から入っています。
ostringstreamを使わずにパパッと文字列化ができるので良いですね。

//std::to_string があるとうれしい!
//C++11から入ったらしい。
//使ってみよう
#include 
#include 
#include 

int main()
{
  //いままでは ostringstream をつかって変換していた。
  //ストリームを使うのは整数を文字列にするにはリッチすぎるよね。
  {
    int val = 1;
    std::ostringstream os;
    os << val ;
    std::string str = os.str();
    std::cout << str << std::endl;
  }
  
  //std::to_string は他の言語でもよくある機能だし、欲しかった。
  {
    int i = 1;
    std::string i_str = std::to_string( i );
    std::cout << i_str << std::endl;

    double d = 3.1415;
    std::string d_str = std::to_string( d );
    std::cout << d_str << std::endl;

    unsigned long long ull = 18446744073709551615ull;
    std::string ull_str = std::to_string( ull );
    std::cout << ull_str << std::endl;
  }
  return 0;
}
to_string_test : to_string_test.cpp
	g++ to_string_test.cpp -std=c++11 -o to_string_test
	./to_string_test
make -k 
g++ to_string_test.cpp -std=c++11 -o to_string_test
./to_string_test
1
1
3.141500
18446744073709551615

そんじゃまた。

コメントを残す

メールアドレスが公開されることはありません。