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