我有一个库类,可以为用户的班级numeric_limits<USERTYPE>::lowest()
实现正确的功能需求USERTYPE
。 USERTYPE
的要求是它有operator<
。
是否有建议的方法来检查用户是否忘记实施&#34;最低()&#34;?默认情况下,lowest()
返回USERTYPE()
,默认构造值。首先,它可能没有默认构造函数。其次,它可能是错误的价值。
我开始使用numeric_limits::is_specialized
的静态断言为true
,因为默认值为false
。但是有更优雅的解决方案吗?
当然我还可以在我传递密钥的函数中添加运行时断言,以检查是否小于&#34;最低()&#34;说。我只是想知道我是否可以在编译时干净利落地完成它。