文字列操作したい(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文字列へ変換する必要があります。

リファレンス