看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《yshihyu (yshihyu)》之銘言: : 好奇想知道C++ 繼承可以繼承多少層? 有人試過嗎? 有限制嗎? : 謝謝 又到了欺負 gcc 的時間~ (上一篇請見 #19vMmhkp) 我寫了一支小程式來產生如下的程式碼: struct s0 {}; struct s1 : public s0 {}; struct s2 : public s1 {}; struct s3 : public s2 {}; ... ... struct s99996 : public s99995 {}; struct s99997 : public s99996 {}; struct s99998 : public s99997 {}; struct s99999 : public s99998 {}; 總共多達十萬的繼承次數 以下是 compile 結果: littleshan@cml13:~/test$ g++ -c tmp.cpp (因為要編很久的樣子所以我跑去逛了一下巴哈姆特) g++: Internal error: Killed (program cc1plus) Please submit a full bug report. See <file:///usr/share/doc/gcc-4.4/README.Bugs> for instructions. 以上. 附註一下,5000 次繼承是 ok 的,10000 次不行 無聊人士可以 binary search 測看看臨界點... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.15.163 ※ 編輯: littleshan 來自: 114.32.15.163 (07/22 18:02)
Keiichi:8192? 07/22 18:03
x000032001:正常寫法可以繼承個五千層請讓我膜拜XD 07/22 18:06
VictorTom:Good Job....XD 07/22 18:17
saxontai:well done XD 07/22 18:53
suhorng:XDDDD 07/22 21:47
softwind:inside the C++ object model.... and virtual 繼承呢? 07/22 22:30