cast


便利なもの発見.

#include <iostream>
#include <string>
#include <boost/lexical_cast.hpp>


int main(){

  std::string str = "3.14";
  double pi = 0.0;

  try {
    pi = boost::lexical_cast<double>(str);
  }
  catch(const boost::bad_lexical_cast&){
    std::cerr << "cast failed" << std::endl;
    return 1;
  }

  std::cout << (pi * 2) << std::endl; // 6.28

}

atoiとかを使うよりよっぽどいいです.

今までatoiとか使いたくなかったんで,自作でstr2intとか作ってたけど.