TVMコードは1 register.ccを学びます

構造体のレジストリ:: Managerは{
   // マップの機能を保存します。
  // 私たちはdelibrately生のポインタを使用
   // PackedFuncがホストlanguge(パイソン)へのコールバックを含めることができるからである
   // リソースがあるため破壊のindeterminsticオーダーで無効になることができます。
  // リソースはプログラム終了時にリサイクルされます。
  std :: unordered_map <はstd :: 文字列、レジストリ*> FMAP。
  // 拡張タイプ用のvtableは 
  はstd ::配列を<ExtTypeVTable、kExtEnd> ext_vtable。
  // ミューテックス
  はstd :: mutexのミューテックス。

  マネージャー(){ 
    (オート&X:ext_vtable){ 
      x.destroy = nullptr。
    } 
  } 

  静的マネージャー* グローバル(){
     // 私たちは、故意にリーク消毒剤を避けるために、マネージャーのインスタンスをリーク
     // プログラムで漏洩するマネージャ:: FMAPのエントリ文句
     // 終了を。
    静的マネージャー* instを= 新しいマネージャー();
    返すINST。
  } 
}。

最初の

おすすめ

転載: www.cnblogs.com/buddho/p/12018619.html