用什么来替代C中的概念(即将推出的功能)?

用什么来替代C中的概念(即将推出的功能)?,第1张

概述用什么来替代C中的概念(即将推出功能)? 你可能听说过C中的概念.这是一个功能 允许您指定模板中类型的要求. 我正在寻找一种方法来做到这一点,我找到的最好的是 Stroustrup的书中他将谓词与static_assert一起使用,如下所示: template<typename Iter, typename Val>Iter find(Iter b, Iter e, Val x) { 用什么来替代C中的概念(即将推出的功能)?

你可能听说过C中的概念.这是一个功能
允许您指定模板中类型的要求.

我正在寻找一种方法来做到这一点,我找到的最好的是
Stroustrup的书中他将谓词与static_assert一起使用,如下所示:

template<typename Iter,typename Val>Iter find(Iter b,Iter e,Val x) {    static_assert(input_iterator<Iter>(),"find(): Iter is not a Forward iterator");    // Rest of code...}

如果你使用其他方法或者这个方法有问题,请告诉我.

解决方法 好吧,有几次我需要类似概念的功能,我转向 Boost Concept Check.它不是最漂亮的库,但它似乎已经内置了很多东西.

我使用你的方法的唯一问题是需要编写所有特征类.我没有广泛使用它,但可能已经为Boost做了很多常见的事情.

总结

以上是内存溢出为你收集整理的用什么来替代C中的概念(即将推出的功能)?全部内容,希望文章能够帮你解决用什么来替代C中的概念(即将推出的功能)?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1238614.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存