小编chr*_*art的帖子

具有动态内存分配的C ++ constexpr函数

作为一个示例,给定constexpr字符串文字,我想将其转换为另一个constexpr数据结构。由于此转换是完全无副作用的,因此,我希望有一种在编译时执行此操作的方法(没有预处理器,但具有标准的C ++语言功能)。

现在,我可以肯定的是,我曾经读过一篇有关C ++ 2a(或更高版本)的潜在将来功能的介绍,该功能允许在constexpr函数中动态分配内存,这肯定是解决我的问题的方法。-但我再也找不到该文章了。

是否已经有一种方法可以在C ++中的constexpr上下文中执行动态内存分配,或者没有人知道哪篇论文对此提出了建议?

c++ c++20

5
推荐指数
1
解决办法
800
查看次数

(FS0193,FS1113)带有静态解析的类型参数的F#向量类

我正在尝试Vector< ^F>在F#中实现泛型类,^F矢量元素的基础字段类型在哪里?这意味着,^F可以是满足加,减,乘和负的任何事物。

一些示例用户代码如下所示:

    let v = Vector<int>([| 1; 2; 3 |])
    let w = Vector<int>([| 4; 5; 6 |])
    let sum = v + w
Run Code Online (Sandbox Code Playgroud)

所以在这里我用的类型int,它可能是任何一个满足基本的基本操作如上所述。使用.NET样式泛型时,我似乎可以使用某些版本,但是我也遇到了问题。由于无论如何我都想使用SRTP,因此我再次走了这条路:

    type Vector< ^F when ^F : (static member (~-): ^F -> ^F)
                     and ^F : (static member (+): ^F * ^F -> ^F)
                     and ^F : (static member (*): ^F * ^F -> ^F)
               >(_values: ^F[]) =
        let values: ^F [] = …
Run Code Online (Sandbox Code Playgroud)

generics f# types

5
推荐指数
1
解决办法
124
查看次数

标签 统计

c++ ×1

c++20 ×1

f# ×1

generics ×1

types ×1