検索

ホームページ  >  に質問  >  本文

c++ 变量类型判断

  1. 请问下面这个变量m是什么类型?NOTIFICATION 是一个 struct

class EventSensor;

EventSensor<NOTIFICATION> m;
PHP中文网PHP中文网2807日前712

全員に返信(3)返信します

  • PHPz

    PHPz2017-04-17 15:38:14

    EventSensor がクラス テンプレートの場合 (指定した宣言はクラス テンプレートの宣言ではありません)。変数宣言 EventSensor<NOTIFICATION> m; は、NOTIFICATION をテンプレート パラメーターとして特殊化したクラスのインスタンス m を宣言します。このクラスは「EventSensor<NOTIFICATION>」と呼ばれます (C++ 標準ではこのように呼ばれます)。

    つまり、変数 m の型は EventSensor<NOTIFICATION> です。

    テンプレート引数が提供されるか、関数およびクラス (C++17 以降) テンプレートのみの場合に推定される場合、それらはテンプレートの特殊化、つまり を取得するためにテンプレート パラメーターに置き換えられます。特定の型 または特定の関数の左辺値

    cppreference、テンプレートから引用

    返事
    0
  • ringa_lee

    ringa_lee2017-04-17 15:38:14

    はい、<NOTIFICATION> はクラス EventSensor 内の変数のタイプですが、クラスが定義され、NOTIFICATION でインスタンス化される場合は汎用です。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 15:38:14

    m は EventSensor
    <NOTIFICATION> 型で、これはクラス内で使用される変数の型、つまり m の変数の型です。
    として

    リーリー

    mStrList は ArrayList 型です

    の要素 s=mStrList.get(1) の型は String です。

    返事
    0
  • キャンセル返事