C で変数名を表す文字列から変数値にアクセスする
C では、その変数を使用して動的に変数の値を取得することができます。文字列として名前を付けます。一般にリフレクションとして知られるこの手法により、柔軟なデバッグおよびイントロスペクション機能が可能になります。
これを実現するには、次の手順を利用できます:
変数の取得アドレス:
変数のキャスト変数の型のポインタへのアドレス。これにより、変数の値に間接的にアクセスできるようになります。例: int* counterPtr = static_cast
ポインターを通じて変数の値にアクセスするには、逆参照演算子 (*) を使用します。例: std::cout
template
T valueOf(const std::string& varName) {
T* varPtr = static_cast(std::addressof(varName));
return *varPtr;
}
valueOf 関数を使用すると、変数の値を動的に取得できます:
std::cout ("counter")免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3