文字列操作したい(G4String)
1G4String material_name = "G4_AIR";
G4Stringは、Geant4で使用される文字列クラスです。
C++標準のstd::stringを継承しており、
std::string型やstd::string_view型の引数としてもそのまま利用できます。
また、文字列操作用の補助機能として
G4StrUtilという名前空間ベースのユーティリティ関数群も提供されています。
v11.0以降では、G4Stringの旧来のメンバー関数を使用せず、G4StrUtilの関数を使用することが推奨されています。
注釈
G4Stringのクラスリファレンスを確認すると、
ほとんどのメンバー関数が
[Deprecated function]とマークされています。
これからGeant4アプリケーションを新規開発する場合は、
std::stringを利用するのがよいかもしれません。
C文字列に変換したい(c_str)
1G4String material_name = "G4_AIR";
2printf("Material Name: %s", material_name.c_str())
3// Material Name: G4_AIR
G4Stringは、内部的にstd::stringとして扱えるよう暗黙の型変換が定義されています。
C言語形式の%s指定子でフォーマット指定する場合は、
c_str()で明示的にC文字列へ変換する必要があります。