1 votes

Quand le C++ a-t-il obtenu les classes imbriquées ?

Je n'avais jamais remarqué jusqu'à aujourd'hui que le C++ supporte les classes imbriquées. Cela m'a surpris car lorsque j'ai appris le C++ dans les années 90, je me souviens spécifiquement que les classes imbriquées étaient quelque chose que Pascal Objet et Java avaient, mais que le C++ n'avait pas. J'ai interrogé un vieil ami programmeur à ce sujet et il a confirmé qu'il se souvenait que le C++ n'avait pas de classes imbriquées.

Est-ce que mon souvenir de l'absence de classes imbriquées dans le C++ est erroné, ou ont-elles été ajoutées à la norme à un moment donné au cours des quinze dernières années ? J'ai essayé de chercher des informations sur ce sujet sur Google et je n'ai encore rien trouvé d'utile.

Il se peut aussi que je pense à des fonctions imbriquées, que Pascal supporte certainement mais pas le C.

5voto

ergosys Points 15343

D'après "A History of C++ : 1979-1991" de Bjarne Stroustrup

Plus tard, après de nombreux problèmes techniques et beaucoup de mécontentement de la part des utilisateurs, les de classes imbriquées ont été réintroduites dans C++ en 1989 [Ellis, 1990].

voir page 28 dans http://www.research.att.com/~bs/hopl2.pdf

3voto

Ken Bloom Points 27197

Les classes imbriquées ont été ajoutées dans CFront 3.0 publié en 1993 .

EDITAR Cela remonte à encore plus loin, comme vous pouvez le voir dans le table des matières a Le manuel de référence C++ annoté (1990).

3voto

radman Points 3430

ont-ils été effectivement ajoutés à la à un moment donné dans le passé quinze dernières années ?

Le C++ a été normalisé pour la première fois en 1998 et cette norme incluait les classes imbriquées dans la section 9.7. Comme vous parlez du début des années 90 dans votre question, il est tout à fait possible que le compilateur particulier que vous utilisiez à l'époque ne les prenait pas en charge.

Les classes imbriquées ont donc été officiellement prises en charge à partir de 1998, mais elles auraient pu être disponibles (en fonction de votre compilateur) à tout moment avant cela, comme l'indique la réponse de Ken Bloom.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X