Mi sento sempre un dolore quando passo da C# o da Python a C++ e incontro la separazione .h e .cpp.Uno strumento per separare automaticamente intestazione e implementazione C++
Quindi ho pensato che forse c'è uno strumento che in fase di pre-compilazione può prendere l'intestazione (o file con qualche estensione speciale) e dividerlo in .h e .cpp?
Quindi, se il file originale in questo modo:
class MyClass
{
public:
void HaHaHa()
{
//some logic
}
}
E un risultato sarebbe come .he cpp file:
//.h
class MyClass
{
public:
void HaHaHa();
}
// .cpp
#include "MyClass.h"
void MyClass::HaHaHa()
{
//some logic
}
Alcuni googling non si è presentato al pronto per l'uso strumenti . Ma sono abbastanza sicuro che non è una nuova idea e tali strumenti dovrebbero esistere.
P.S. È noto che Visual Assist X e VIM dispongono di strumenti per gestire la separazione di .h e .cpp con meno dolore. Ma sto chiedendo la possibilità di avere un codice in un file e separarlo automaticamente come parte del processo di compilazione.
E perché non inserire tutto il codice nei file h? Compilazioni lente? –
I moduli saranno presto (o successivi) in C++, si veda: http://stackoverflow.com/questions/3596147/modules-in-c0x questo lo risolverà sperabilmente. – tauran
"Compilazioni lente" - come esempio. Parser lenti di autocomplition è anche peggio. O a volte uno scrive una libreria e non vuole che sia "open source". In generale, C++ è progettato per avere questa separazione. In questo punto di vista avere tale strumento è una soluzione molto chiara. – MajesticRa