charをstd::stringに変換する

C++でcharからstd::stringへの変換(文字から文字列へ,例えば'a'から"a"へ)をどうするか,すごく簡単そうに見えていざ検索してみるとchar[]とstd::stringの間の変換についての記述しか見つからなかったので書いておこうと思います.

  1. 「std::stringのコンストラクタstring(size_t n, char c)でn=1とおく」おそらく最もお手軽な方法です.
  2. 「boost::lexical_cast(char c)を使う」Boostライブラリが必要になりますが,1というマジックナンバーを書く必要が無いのが利点かもしれません.
#include <cassert>
#include <iostream>
#include <string>
#include <boost/lexical_cast.hpp>

int main() {
  assert("a" == std::string(1, 'a'));
  assert("a" == boost::lexical_cast<std::string>('a'));
  std::cout << "Hooray!" << std::endl;
}

なおstd::to_string('a')は"97"になります.