ACE中是如何实现模板类的定义和实现分离
今天看ACE的源代码是发现ACE模板类的定义实在XXX.h中,而实现实在XXX.cpp中,感觉很奇怪。仔细看了一下XXX.h文件,发现在模板类的头文件下方多了一行对对应.cpp包含的预处理命令。如:
00286 #if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
00287 #include "ace/Asynch_Acceptor.cpp"
00288 #endif /* ACE_TEMPLATES_REQUIRE_SOURCE */。
自己建了一个小工程,模仿这种方式,也获得成功。
浙公网安备 33010602011771号