编写模板化代码的想法是编写易于应用于某些泛型类型的通用代码T.
使用的想法const是将行为强加于对象.这不只是告诉用户他们如何能够或不能使用对象,而是告诉用户自己不能改变对象.
这两个想法似乎相矛盾,不是吗?如何编写通用代码,同时对泛型类型的常量进行假设?当然,在许多情况下,您可能会预测到您将永远不会使用不符合您的使用类型的类型来实例化您的代码const,但想象一下,如果您突然发现情况并非如此,则会感到恐惧,并且必须挖掘所有代码以删除错误放置const?
我们如何解决这个问题?我们不是用const模板化的代码写的吗?