c++のメンバ変数の数を取得する方法について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: c++のメンバ変数の数を取得する方法について

Re: c++のメンバ変数の数を取得する方法について

#2

by tk-xleader » 1年前

C++にはリフレクションがありませんから、一般的にはクラスのメンバ変数の数を取得する方法はありません。

クラスのメンバ変数の数を取得出来るようにするには、メンバをstd::tuple型にするとか、std::arrayにするとかといった方法はあります。あるいは、外部ライブラリに頼ってもいいのであれば、boost.fusionやboost.hanaを使うとかいう方法もあります。

c++のメンバ変数の数を取得する方法について

#1

by TK fromE » 1年前

はじめまして、c++を始めて一年くらいの初心者です。
プログラミングをしている中で、自分のクラスが持ってるメンバ変数の数を取得したいのですが方法が分からず...
もしわかる方がいれば御教授いただきたいと思っております。

例えば

コード:

class hogehoge{
private:
    int m_hoge;
    int m_hoge2;
}
というクラスの場合、メンバ変数の数である2を取得する方法を知りたいです。
また今後メンバ変数が増えた場合はほぼメンテナンスなしで、3とか4とかの値が取得できるようにしていきたいです。
以上です。よろしくお願いいたします。

ページトップ