首先,请注意我使用的是C++ 03(而C++ 11不是一个选项).我正在使用boost概念来检查某个类是否可以默认构造:
BOOST_CONCEPT_ASSERT((boost::DefaultConstructible<my_class>));
Run Code Online (Sandbox Code Playgroud)
然而,对于一些其他类我想断言类型并没有默认构造函数.有办法做到这一点吗?
更新:对所有那些标记问题重复或已经回答的超级专家没有阅读它:我在第一段中说明我已经使用boost概念检查类是默认构造的(这是假设的问题)是重复的).我还明确声明我不能使用C++ 11,因此我无法使用type_traits.所以,可能有人请点我到特定部分我的问题是"已经回答了"?因为我还没有找到它.
令人失望的是,不,这通过升压概念检查是不可能的。
不那么令人失望的是:你不是想向后使用这个工具吗?
通常,您编写的代码需要具有一定数量功能的类型,例如构造函数、对该类型进行操作的函数等等。我无法想象您会编写需要缺乏特定功能的类型的代码的情况。
您似乎不想进行面向概念的编程,而是想要强制执行编码风格。这不是合适的工具。
| 归档时间: |
|
| 查看次数: |
301 次 |
| 最近记录: |