Inicialmente pensé que necesitaba esto, pero finalmente lo evité. Sin embargo, mi curiosidad (y el apetito por el conocimiento, el zumbido) me hacen pregunto:Expansión de macro del preprocesador a otra directiva de preprocesador
Puede una macro de preprocesador, por ejemplo, en
#include "MyClass.h"
INSTANTIATE_FOO_TEMPLATE_CLASS(MyClass)
ampliar a otro incluyen, como en
#include "MyClass.h"
#include "FooTemplate.h"
template class FooTemplate<MyClass>;
?
Un día deseará transferir su código a un sistema operativo como Linux, donde el caso es significativo (es decir, Foo.h y foo.h son dos archivos diferentes) y luego todos los errores ortográficos que no se detectan en Windows llegarán a casa gallinero. alternativamente, si usted es una persona de Linux, un día querrá ir por el otro lado, con problemas diferentes pero igualmente horribles. –
Estoy de acuerdo con la regla siempre en minúscula para los nombres de archivo. Lo escribí de esta manera porque quería excluir el problema de la conversión en minúsculas (nombre de clase -> nombre de archivo). Pero vale la pena mencionar, gracias. +1! – moala
Nuestra regla es que los nombres de archivo coinciden exactamente con el esquema de nombres para nuestros tipos y funciones. Hacemos exactamente como el Interlocutor aquí, un nombre de tipo FooType se definirá en FooType.h. Al igual que con cualquier directriz de "estilo", elija un estilo y quédese con él. Una vez dicho esto, nos desarrollamos mucho en Linux, por lo que el sistema operativo nos impone automáticamente esta regla .... hmmmmm ..... –