En Thinking in C++ Volumen 1, capítulo 16: Introducción a plantillas. El contexto:¿Cuál es la diferencia entre el iterador de amigo y el iterador de clase de amigo que encuentro en pensar en C++?
en cuenta que en vez de decir:
friend iterator; // Make it a friend
Este código tiene:
friend class iterator; // Make it a friend
Esto es importante porque el nombre " iterador "es alre en el alcance, a partir de un archivo incluido.
¿Qué significa realmente Eckel anteriormente? Parece que friend iterator
compila correctamente y no puedo ver las diferencias. ¿Alguien puede decir la respuesta? Gracias
Quizás una explicación sobre lo que significa 'especificador de tipo elaborado', porque ya sabes, standardese no es para todos. :) – Xeo
@Xeo: Agregué un enlace a MSDN, espero que sea suficiente. :) –
Además, en C++ 0x esta restricción se levantó para los parámetros de la plantilla, por lo que ahora podemos tener 'plantilla clase Final {amigo D; ~ Final() {}}; '. –
Xeo