刺身の上にたんぽぽ乗せる日記

プログラミングしたり、自販機の下に落ちてる小銭を集めたりしてます

C++ポインター問題

以前アルバイトのA君が、「ポインターならマスターしましたよ」とかほざいてたので、問題を出してみたことがあった。思い出したので書いてみる。

以下はC++のコード。

void test(void){
  Base* base;
  Derived *derived;
  
  derived=new Derived();
  base = derived;
  
  assert(derived==base);
}

assertは直感的には成功しそうだけど、本当に必ず成功する?それとも場合によっては失敗する?