作者littleshan (我要加入劍道社!)
看板C_and_CPP
標題Re: [問題] 關於C++ 繼承
時間Thu Jul 22 17:55:34 2010
※ 引述《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