d2

    2热度

    1回答

    immutable auto a = Array!int([1, 2, 3]); Error: cannot implicitly convert expression (((Array!int __slArray2557 = Array(RefCounted(RefCountedStore(null)));) , __slArray2557).this([1, 2, 3])) of type

    6热度

    1回答

    我试图想出一个确定给定符号是否为函数模板的可靠方法。以下内容: import std.traits: isSomeFunction; auto ref identity(T)(auto ref T t) { return t; } static assert(isSomeFunction!identity); 也将失败identity仍然是一个模板,直到它被实例化。目前我使用的是依赖于

    2热度

    2回答

    最近我对学习D编程语言感兴趣。 (具体来说D2,在撰写本文时是人们所指的,因为D原来为了与现有代码兼容而处于维护模式)。 在决定是否使用C++或D(我已经知道C++,我对D一无所知),我想知道C++比D好吗?如果你在线阅读D,有很多材料只是说“这里是一个C++代码的例子,这里是D代码的一个例子 - 看起来好多了”。对于所示的例子当然是如此。 一些差异可能会受到意见。例如,从派生类中调用基类构造函数

    4热度

    1回答

    我有以下d程序: import std.stdio; enum XYZ : string { A = "hello", B = "foo", C = "bar" } void main() { writeln(XYZ.A); writeln(XYZ.B); writeln(XYZ.C); } 即打印: 甲 乙 Ç 我希

    3热度

    2回答

    例如,假设是t实现正确的操作符重载: T t1, t2, t3; t3 = t1 + t2; // t3.opAssign(t1.opBinary!"+"(t2)) for sure t3 = t3 + t2; // rewritten to t3.opOpAssign!"+"(t2) ? 由d优化了最后的操作?

    0热度

    1回答

    我尝试从std.net.curl import std.net.curl, std.stdio; void main() { auto range1 = byLineAsync("www.google.com"); auto range2 = byLineAsync("www.wikipedia.org"); foreach (line; byLineAsync

    2热度

    1回答

    下面的代码在编译的时候给了我一个奇怪的错误: import std.conv: to; import std.typecons; import std.traits; void main() { alias BuiltinScalars = TypeTuple!(ubyte, byte, ushort, short, uint, int, ulong, long,

    3热度

    1回答

    自从我尝试从C++调用一些D代码(为C++和D定义类/接口)以来。 的d代码 module BufferCppBinding; extern (C++) void *createBufferCppBinding() { BufferCppBinding ptr = new BufferCppBinding(); return cast(void*)ptr; } ext

    1热度

    2回答

    有人可以指点我如何从D调用C代码的一个很好的教程(也可能从D调用一个FORTRAN库)吗? 我已经在线研究了这个主题,并不断找到不完整的例子。我希望有人能为我拼出一次。例如,显示一些示例绑定并解释编译和链接它们以便一起工作的步骤。 我在窗口上都有DMD和GDC编译器。 一些背景:编程不是我的主要工作,但我做了很多工作。我与Python和Java一起工作了很多,我的第一语言是C,并且我也做了一些网络

    1热度

    2回答

    我正在创建一个输入范围来遍历自定义容器,该容器包含需要保持精确配对的输入和目标的数据点。我需要不同的范围来返回训练数据(double [] []),输入(double [])和目标(也是double [])。我设法得到以下代码进行编译和完美工作,但我不知道为什么。 public struct DataRange(string type) if(type == "TrainingData" ||