0

重複の可能性:
構造体変数を反復処理します。

ヘッダーファイルとコードファイルがあります。このクラスは、ストアドプロシージャからクエリされるビューの表現です。各列について。ビューでは、クラスに1つのデータメンバーがあります。現在、コードには次のようなものがあります。

Load( Reader reader)
{
   m_col1 = reader("m_col1");
   m_col2 = reader("m_col2");
   ..
}

メンバー変数を反復処理して次のようなコードを取得するコードを作成するにはどうすればよいですか。

Load( Reader reader)
{
   For (each str in ArrayOfMemberVariables)
     variableLValue(str) = reader(str); //  str = m_col1,  m_col2  ...
}
4

2 に答える 2

0

C++ リフレクションの質問は、何度か取り上げられてきました。残念ながら、メタデータを自分で管理しないと不可能です。詳細については、この質問を参照してください。

于 2010-09-30T14:50:14.020 に答える
0

たとえば、PHP のように (他の変数名を使用して) 変数名を動的に宣言することを意味する場合、C++ ではそれを行うことはできません。

C++ では、Java のようなリフレクションの概念がありません。Java では、クラスの変数をイントロスペクトし、その周りにコードを記述して、クラス メンバーを事前に知ってシリアライゼーションなどを行うことができます。

于 2010-09-30T14:50:57.547 に答える