文字列操作したい(G4String
)
1G4String material_name = "G4_AIR";
G4String
はGeant4内部で使用される文字列クラスです。
std::string
クラスを継承しています。
std::string
やstd::string_view
型の引数の値として使えます。
また、追加機能としてG4StrUtil
という名前空間も定義されています。
C文字列に変換したい(c_str
)
1G4String material_name = "G4_AIR";
2printf("Material Name: %s", material_name.c_str())
3// Material Name: G4_AIR
G4String
クラスは、内部で暗黙の型変換をしてくれるそうですが、
%s
指定子でフォーマット指定した場合は、
C文字列への変換を明示する必要があります。
注釈
G4Stringのクラスリファレンスを確認すると、
deprecated
指定されたメンバー関数が多いです。
ヘッダーファイルのコメントにも
「std::string
と同じインタフェースを提供する」
というような方針が書いてあります。
ゆくゆくはstd::string
に置き換わるのかも?