c++-concepts相关内容

为什么函数参数不能是静态的

任何人都可以告诉我为什么函数参数不能为static吗? 这是在Stack上声明函数参数并在函数返回时取消分配的原因吗?有没有办法保留参数值?只是感到困惑.请澄清. 谢谢. 解决方案 关键字static可能被视为有些“超载". 以下用法选项都是可行的: 静态局部变量 静态全局变量 静态成员变量 静态全局函数 静态成员函数 变量: 就运行时而言,所有类型的 ..
发布时间:2020-06-15 19:25:06 其他开发

概念是否会改变CRTP以获得静态多态性的需求?

自从几年前我发现CRTP以来,我在很多地方都使用它来实现面向密集计算的代码的编译时多态.当人们在运行时既关心泛型又要获得最大性能时,以一种通用的方式将成员函数“注入"到类中是很好的. 我已经阅读/观看了 concepts lite (希望)成为下一个C++标准的一部分.以一种更加抽象和通用的方式来设计功能,这绝对是一件绝妙的事情,避免了我目前使用的SFINAE/std::enable_if糟 ..
发布时间:2020-05-09 02:24:11 C/C++开发

概念评估可以取决于在哪里进行评估吗?

[temp.concept]/5 说: 未实例化概念([temp.spec]). [注:表示概念专业化的id表达式被评估为表达式([expr.prim.id]). [...]] 是否表示此规则如下( [ temp.point]/8 )不适用? 如果两个不同的实例化点根据一个定义规则赋予模板专业化不同的含义,则程序格式错误,无需诊断. 例如,如果该规则不适用,则以下代码格式正 ..
发布时间:2020-04-27 04:43:08 C/C++开发

Haskell类型类如何与C ++概念不同?

概念TS的C ++概念最近已被合并到GCC主干中。概念允许我们通过要求类型满足概念的条件来约束泛型代码(比如'Comparable')。 Haskell有类型类。我对Haskell不太熟悉。概念和类型类是如何相关的?概念(由Concepts TS定义)和类型类只有在意识到它们限制了可以与通用函数一起使用的类型集合。除此之外,我只能想到两种功能的不同之处。 我应该注意到,我不是Haske ..
发布时间:2018-06-04 15:51:50 C/C++开发

概念检查器不编译gcc,因为它'没有链接'

我已根据此问题创建了一个概念检查类其目的是确保给定类有一个名为 baseUnitConversionFactor 的静态成员函数。类编译和工作正常与msvc2013,但它不会编译gcc 4.9.2(使用-std = c + + 14)与错误: 错误: 不是类型为double(*)的有效模板参数,因此不会显示错误:'{anonymous} :: UnitsTest_conceptChecke ..
发布时间:2016-11-01 20:36:26 C/C++开发

模板约束可用于变量模板吗?

在最新的模板约束中,提出了一个用于约束模板参数的新工具集。此外,在C ++ 14中提供了变量模板。变量模板允许定义类型参数化的常量等。 没有提到这些特性如何交互。使用pi的规范示例,我们可以具有: template constexpr double pi(3.141592653589793238); template ..
发布时间:2016-10-30 01:02:30 C/C++开发

我们如何在UML图中表示概念?

UML类图支持表达概念吗? 另外,有没有其他图表来表达概念? 只是在误解的情况下,我的意思是“概念” 。 解决方案 稍后阅读 C ++”概念“的维基百科解释它看起来像我的工具,具有相同的目标为 C中的泛型类和类型约束 然后按照以前的Stack Overflow问题表示C#通用方法在UML类图中,结果是,您应该检查 http:// www。 uml-diagrams.org ..
发布时间:2016-10-25 15:38:10 C/C++开发

我们如何在UML图中表示概念?

UML类图支持表达概念吗? 另外,有没有其他图表来表达概念? 只是在误解的情况下,我的意思是“概念” 。 解决方案 稍后阅读 C ++”概念“的维基百科解释它看起来像我的工具,具有相同的目标为 C中的泛型类和类型约束 然后按照以前的Stack Overflow问题表示C#通用方法在UML类图中,结果是,您应该检查 http:// www。 uml-diagrams.org ..
发布时间:2016-10-25 14:59:31 C/C++开发

假设的,以前的C ++ 0x概念问题

(前导:我是C ++ 0x游戏的迟到追随者,最近有关从C ++ 0x标准中删除概念的争议激励我更多地了解它们。虽然我明白我的所有问题都是完全假设的 - 只要概念不会是有效的C ++代码在一段时间,如果有 - 我仍然有兴趣了解更多的概念,特别是如何将帮助 在阅读了关于C ++ 0x(直到最近)的概念的一些介绍材料之后,他们,我有麻烦包装我的思想一些语法问题。下面是我的问题: 1)支持特定 ..
发布时间:2016-10-22 19:25:21 C/C++开发

什么是概念?

我听说过所有这些新的(on /。)关于C ++ 0x不再有概念,但我不知道它们是什么?有人可以向我解释吗? 解决方案 概念是一个通用的编程特性,允许有人编写模板代码来指定类型参数需要满足。 例如,一些集合类型需要集合的type参数来定义 ..
发布时间:2016-10-22 18:25:32 C/C++开发

C ++ 0x将不再有概念。意见?这将如何影响你?

在2009年7月 C ++ 0x meeting in Frankfurt ,it was decided to 从C ++ 0x中删除概念。个人而言,我很失望,但我宁愿有一个可实现的C ++ 0x比没有C ++ 0x。他们说他们将在以后添加。 您对此决定/问题有何意见? 解决方案 我个人并不太高兴,因为概念的目的主要是改善编译时错误消息,作为概念提案的共同作者之一Jeremy Si ..
发布时间:2016-10-19 20:14:27 C/C++开发

我如何用C ++概念(“概念精简”)支持构建gcc?

C ++标准委员会正在致力于概念扩展的TS(技术规范):“编程语言 - 概念的C + +扩展”。 N4377 是本文档的最新版本。 我知道 concept-gcc ,但上述概念提案(通俗地称为 Concepts Lite )是不同的。我听说有一个概念分支,我尝试了来自 origin / asutton / c ++ - concepts > gcc 的 git 镜像,但没有编译。如何构建和使 ..
发布时间:2016-10-17 09:51:03 C/C++开发

C ++ 0X概念已经走了。哪些其他功能也应该去?

您可能已经听说过,C ++标准委员会的最后一次会议投票决定从下一个C ++标准中删除概念。当然,这将影响其他功能,似乎把标准大开了。如果是这样,您认为应该删除(或添加)哪些其他功能?为什么? 链接: 删除概念 - Danny Kalev(关于删除概念的决定) 简化概念的使用 - Bjarne Stroustrup(关于现在的概念问题) 长杆取得更长 - Martin Tas ..
发布时间:2016-10-16 14:28:47 C/C++开发

使用Concepts Lite为具有成员函数模板的类型指定概念

我试图指定一个概念来限制一个更高类型的类,它有一个使用Concepts Lite的成员函数模板。不过,我无法在技术规格或教程一个处理概念中的模板语句的子句。 这是怎么做的? 示例:假设我有更高的类型 HKT 与会员功能模板 F : template struct HKT { template // this looks like l ..
发布时间:2016-10-14 22:55:56 C/C++开发

概念与接口有何不同?

解决方案 概念是用于编译时多态性,这意味着参数化通用代码。接口用于运行时多态性。 在实现概念时,您必须实现一个接口。区别在于,您不必明确说明您正在实施一个概念。如果所需的接口匹配,则没有问题。在接口的情况下,即使您实现了所有所需的功能,您也必须表示正在实施它。 我会尝试澄清我的回答:) 想象一下,你正在设计一个容器任何具有尺寸成员函数的类型。我们正式化的概念,并称之为HasSi ..
发布时间:2016-10-14 12:54:36 C/C++开发