任意のを後押し

どれがクラスブーストを提供ブースト:: JavaScriptの変数のように情報の任意の種類を格納できる任意の。

#include <ブースト/ any.hpp> 
の#include < ストリング > 
の#include <iostreamの> int型のmain(){ 
  ブースト::任意A = 1 
  std :: coutの <<ブースト:: any_cast < 整数 >(A)<< はstd ::てendl;
  もし(!a.empyt()){
     constのはstd :: TYPE_INFO&TI = a.type(); 
    std :: coutの << ti.name()<< はstd ::てendl; 
  } 
  A = 3.14 
  std :: coutの <<ブースト:: any_cast < ダブル >(A)<< はstd ::てendl;

; 
  std :: coutの <<はstd :: boolalpha << :: any_cast <後押しブール値 >(A)<< はstd ::てendlを。
  リターン 0 ; 
}

型ブーストの変数::任意のは、彼らが保存することができるもので、完全に無制限ではありません。型ブーストの変数に格納された任意の値::任意のは、コピー構築可能でなければなりません。

後押しする:: any_castをテンプレートパラメータとして適切な型を渡すことによって、変数の値が変換されます。無効な型が指定されている場合、型ブースト:: bad_any_castの例外がスローされます。

、いずれかの情報が含まれています::型ブーストの変数かどうかを確認してください)(空のメンバ関数を使用します。格納された情報の種類を確認するには、メンバ関数のタイプ()を使用。

おすすめ

転載: www.cnblogs.com/sssblog/p/11058406.html