que tienen una clase:funciones de plantillas privadas
Ch
class C {
private:
template<int i>
void Func();
// a lot of other functions
};
C.cpp
// a lot of other functions
template<int i>
void C::Func() {
// the implementation
}
// a lot of other functions
que sé, que no es la mejor idea para mover la aplicación plantilla en cpp (porque no se verá desde otras cpp, que podría incluir el encabezado con la declaración de la plantilla).
Pero, ¿qué pasa con las funciones privadas? ¿Podría alguien decirme si hay contras de implementación de funciones de plantillas privadas en un archivo .cpp?
http://stackoverflow.com/questions/4315969/where-to-define-c-class-member-template-function-and-functors-that-instantiate/4316020#4316020 –
Si bien la cuestión era técnicamente respondido por Als y Nicola, para mí esto solo me lleva a preguntar por qué hiciste esto una plantilla de miembro. ¿No sería mucho mejor tener esto como una plantilla de función gratuita en (el espacio de nombre sin nombre) del archivo cpp? He descubierto que, con el tiempo, utilicé cada vez menos funciones de miembros privados, recurriendo cada vez más a funciones gratuitas en (el espacio de nombre sin nombre) del archivo de implementación de la clase. – sbi