什么时候C ++获得嵌套类?

时间:2010-06-03 01:19:27

标签: c++

不知怎的,直到今天我才注意到C ++支持嵌套类。这让我感到惊讶,因为当我在90年代学习C ++时,我特别记得嵌套类是Object Pascal和Java所具有的,但是C ++没有。我问过一位老程序员朋友,他同意他回忆起C ++没有嵌套类。

我对C ++的回忆是不是错误的嵌套类,或者它们在过去十五年的某些时候是否真的被添加到标准中?我尝试在Google上搜索有关此主题的信息,但我还没有提出任何有用的信息。

也可能是我在考虑嵌套函数,Pascal当然支持这些函数,但C不支持。

3 个答案:

答案 0 :(得分:5)

根据Bjarne Stroustrup撰写的“C ++历史:1979-1991”

  之后,经过多次技术问题   嵌套的用户非常不满   课程范围被重新引入   1989年的C ++ [Ellis,1990]。

请参阅http://www.research.att.com/~bs/hopl2.pdf

中的第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的答案所暗示的那样。