我特别询问文件结构以及在哪里放置什么。考虑以下内容(这是我当前结构的一个示例):
foo.h包括:
template <typaname T>
class Foo {
void bar();
}
#include "foo-inl.h"
foo-inl.h包括:
template<typaneme T>
void Foo::bar() {
}
一些baz.cpp有:
#include "foo.h"
Foo<X> foo;
和其他一些nom_test.cpp有:
#include "foo.h"
Foo<TestY> foo;
如何重组它以利用产品代码(baz.cpp)和测试代码(nom_test.cpp)中的显式实例化。请注意,我不想将测试类型暴露给产品构建。