标签: c++ templates language-lawyer
根据[temp.inst]:
[temp.inst]
除非已明确实例化或明确专门化类模板特化,否则在需要完全定义的对象类型的上下文中引用特化时或完整性时,将隐式实例化类模板特化类类型会影响程序的语义。
因此,如果我做对了,可以定义一个模板类,使用,而不用 odr-use 它。然后它不会被实例化。
我的问题:定义不可实例化的模板类的简短和/或惯用方法是什么?
(我在一个帖子中提出了两个问题,但是什么时候“类的完整性[会]影响程序的语义”?)