不知怎的,直到今天我才注意到C ++支持嵌套类。这让我感到惊讶,因为当我在90年代学习C ++时,我特别记得嵌套类是Object Pascal和Java所具有的,但是C ++没有。我问过一位老程序员朋友,他同意他回忆起C ++没有嵌套类。
我对C ++的回忆是不是错误的嵌套类,或者它们在过去十五年的某些时候是否真的被添加到标准中?我尝试在Google上搜索有关此主题的信息,但我还没有提出任何有用的信息。
也可能是我在考虑嵌套函数,Pascal当然支持这些函数,但C不支持。
答案 0 :(得分:5)
根据Bjarne Stroustrup撰写的“C ++历史:1979-1991”
之后,经过多次技术问题 嵌套的用户非常不满 课程范围被重新引入 1989年的C ++ [Ellis,1990]。中的第28页
答案 1 :(得分:3)
CFront 3.0中添加了嵌套类,已在1993中发布。
编辑它可以追溯到更早,正如您在table of contents The Anlatedated C ++ Reference Manual (1990)中所看到的那样。
答案 2 :(得分:3)
他们真的加入了 在过去的某个时刻的标准 十五年?
C ++首先在1998中标准化,此标准包含第9.7节中的嵌套类。自从你在90年代初谈到你的问题时,很可能你当时使用的任何特定编译器都没有为它们提供支持。
所以Nested Classe从1998年开始正式得到支持,但在此之前的任何时候都可以使用(取决于你的编译器),正如Ken Bloom的答案所暗示的那样。