 
 
 
 
 
 
 
  
 
 は、ROOT の提供する、文字列を扱うクラスである。
 は、ROOT の提供する、文字列を扱うクラスである。
  TString s1("hoge");    // "hoge" という内容の TString を作成
  TString s2("hoge");    // "hoge" という内容の TString をもう1つ作成
  cout << s1 << endl;    // "hoge" をプリント
  cout << s1[1] << endl; // "o" をプリント
  cout << s1+s2 << endl; // "hogehoge" をプリント
  s1.ToUpper();          // s1 を大文字に
  cout << s1+s2 << endl; // "HOGEhoge" をプリント
  s1[1] = 'o';           // "HOGE" の "O" を小文字に
  cout << s1 << endl;    // "HoGE" をプリント
などは、ごくごく単純な使い方であるが、
すでに十分便利であることがわかる。
 には、実に多くの機能があるので
各自研究されたい。
 には、実に多くの機能があるので
各自研究されたい。
 
 は、
 は、 を継承していないので、
そのままではオブジェクト I/O にはむかない。
 を継承していないので、
そのままではオブジェクト I/O にはむかない。
 が自動生成されないからである。
そのため、
 が自動生成されないからである。
そのため、
 がある。
これは、
 がある。
これは、 を
 を  にするためのラッパーである。
 にするためのラッパーである。
  TObjString os("hogehoge");   // "hogehoge" という内容の TObjString を作成
  Char_t *data = os.GetName(); // "hogehoge" へのポインターをもら
  TString s = os.GetString();  // "hogehoge" を TString としてもらう
  os.SetString("foobar");      // "hogehoge" を "foobar" に変更
  TString &sr  = os.String();  // TString への参照をもらう
のように使う。
 への参照をもらっておけば、
後は
 への参照をもらっておけば、
後は  でできることがいろいろできる。
 でできることがいろいろできる。
 
 
 
 
 
 
