class Hoge {
  Hoge(Piyo * pPiyo = NULL)
   : pPiyo(pPiyo) {}
  void SetPiyo(Piyo * pPiyo) { this->pPiyo = NULL; }
  bool IsValid() { return p != NULL; }
  void Fuga() {
   assert(this->pPiyo != NULL); // これ
   ...
   this->pPiyo->FugaFuga();
   ...
  }

  Piyo * pPiyo; // nullable
};

上記の assert() に価値はありますか?