C++ primer 第三版提到 模板的编译模式目前有两种:1.包含编译模式;2.分离编译模式。
兴冲冲的去Visual studio 2005上去试试,因为我一直为这个烦恼,而c++ primer 第四版讲的似乎不够清楚。(这个第三版与第四版的差别就下次再谈了,还是很多地方可以比较一下的)
这个包含编译模式倒是支持,这个模式也是最多编译器支持的。
很遗憾,vs2005 并不支持分离编译模式。
标准C++是允许使用export关键字进行类模板编译的,vs2005并没有这个关键字。Edison Design Group,Inc.(EDG)是唯一一家实现了export关键字的公司,而且它们的技术也是对其他的开发商开放。大部分编译器都无法对类模板进行分离编译。郁闷了一笔。
这个不支持分离编译模式将会导致比较多的问题。典型的就是不能实现信息隐藏。。。。