04 2022 档案

摘要:Sub RemoveTextboxes() Dim SlideToCheck As Slide Dim ShapeIndex As Integer For Each SlideToCheck In ActivePresentation.Slides For ShapeIndex = SlideToC 阅读全文
posted @ 2022-04-14 15:53 zjh6 阅读(18) 评论(0) 推荐(0) 编辑
摘要:原文 我用版本 //config.d version = USE_MY_ASSERT; void MY_ASSERT(bool expr) {...} //library.d import config; version (USE_MY_ASSERT) {} else { void MY_ASSER 阅读全文
posted @ 2022-04-13 10:51 zjh6 阅读(12) 评论(0) 推荐(0) 编辑
摘要:原文 提议添加新的__metadata存储类,来标记函数或聚集声明成员字段. 理由和动机 类型限定符传递性地应用于所有子类型: struct A { int a; int* b; } void main() { 不变 A a;//aa和ab都是不变 } 但是有时,无论如何限定,特定字段要保持可变.如 阅读全文
posted @ 2022-04-12 21:25 zjh6 阅读(9) 评论(0) 推荐(0) 编辑
摘要:原文 引入了一个可应用于聚集字段的新__mutable存储类 __mutable存储类修改字段上类型限定符的传递性. 只能在@system上操作__mutable数据,且只能在私成员上应用__mutable. struct S{ int* p; shared int* s; private __mu 阅读全文
posted @ 2022-04-12 17:17 zjh6 阅读(15) 评论(0) 推荐(0) 编辑
摘要:原文 要加个@trusted包装器,才能同域一起用. 析构器检查dip1000,否则保持@system. import std.stdio; import std.typecons; struct Container { ubyte[] data; } struct Blob { ubyte[64] 阅读全文
posted @ 2022-04-12 15:53 zjh6 阅读(11) 评论(0) 推荐(0) 编辑
摘要:原文 是的,读取不存在数据是错误. 不变数据也有生命期. import std.stdio; struct S { int i; this(int i) { this.i = i; writeln(i, "好"); } ~this() { writeln(i, "坏"); } } void main 阅读全文
posted @ 2022-04-11 19:49 zjh6 阅读(11) 评论(0) 推荐(0) 编辑
摘要:原文 草稿 __metadata名字更好.是对象的一部分但需要从类型系统中留出一定余地的信息. 典型的用例是:不变数据结构的引用计数,缓存,懒求值. 陷入了__mutable与const父对象的交互(不清楚父对象是不变的还是不合格的),及纯函数应如何处理__mutable. 注意,DIP的当前状态与 阅读全文
posted @ 2022-04-11 19:47 zjh6 阅读(13) 评论(0) 推荐(0) 编辑
摘要:int function(int) square; void main() { square = (int a) => a * a; int square = 5.square; assert(square == 25); } 可用显式调用括号来区分本地变量和全局函数.此外,还可用模块访问符号和全限 阅读全文
posted @ 2022-04-11 19:18 zjh6 阅读(8) 评论(0) 推荐(0) 编辑
摘要:原文 128整,正128未完成. 通用的任意固定大小整数类型会是更好补充. 通过core.int128公开. cent/ucent按core.int128来暴露. 会支持128位字面吗?还是必须等待importC有int128_t支持? data.hi = lo >> 63 可加ulong版构造器. 阅读全文
posted @ 2022-04-10 17:15 zjh6 阅读(17) 评论(0) 推荐(0) 编辑
摘要::但是仅使rc计数结构可变的问题是什么? 这样,不会遇到绕过不变/常系统,只是增加计数器或元数据问题. 注意:rc构的有效负载,如果需要,可是常或不变的. 理论上,这是我认为的正确方法.但是,它确实妨碍了可用性.如,你不能再写: auto myFunc(in RC!Data data) { ... 阅读全文
posted @ 2022-04-10 11:13 zjh6 阅读(9) 评论(0) 推荐(0) 编辑
摘要:原文 static struct Foo{ void *ptr; void proxySwap1(scope ref typeof(this) rhs)scope pure nothrow @trusted @nogc{ auto tmp = this.ptr; this.ptr = rhs.ptr 阅读全文
posted @ 2022-04-10 09:18 zjh6 阅读(265) 评论(0) 推荐(0) 编辑
摘要:原文 template isFilter(alias filter, bool asserts = false) { enum isFilter= { import std.traits : ReturnType, Parameters, isMutable, isScalarType; alias 阅读全文
posted @ 2022-04-09 10:43 zjh6 阅读(12) 评论(0) 推荐(0) 编辑
摘要:原文 因为现在Xlib是在XCB之上实现的. 是的,但是使用X(如*core*X协议,没有Xlib),这是我以前未预料到的全新的混乱程度.😛 基本上,X服务器*仅*交换与键盘上的物理键相关联的任意数字的键码.要理解它们,需要映射到表示命名键的标准数字的键符.在Xlib中,映射键码到键符只需1或2个 阅读全文
posted @ 2022-04-09 10:20 zjh6 阅读(48) 评论(0) 推荐(0) 编辑
摘要:原文 struct A {} struct B { A a; } struct C { A a; } A*[] structs; B b; init(&b); structs ~= cast(A*)&b; 错误:复制cast(A*)&b到分配内存中会逃逸b局部变量引用 C c; init(&c); 阅读全文
posted @ 2022-04-08 19:43 zjh6 阅读(10) 评论(0) 推荐(0) 编辑
摘要:他们认为__metadata字段不能从外部访问实现引用计数的对象.这样,强纯函数不会改变__metadata字段,因此可基于纯来优化(除了释放函数). 析构器在限定符上遇到与postblits相同问题.如果可调用不变析构器,我会感到惊讶.加上不能重载析构器,这更糟. 然而,为了支持不变分配器,确实要 阅读全文
posted @ 2022-04-08 16:18 zjh6 阅读(9) 评论(0) 推荐(0) 编辑
摘要:原文 我尝试使用wcsncat() import std.stdio; @system void main(){ import std.utf : toUTF16z, toUTF16; import core.stdc.wchar_ : wcsncat, wcslen, wprintf; impor 阅读全文
posted @ 2022-04-08 11:22 zjh6 阅读(14) 评论(0) 推荐(0) 编辑
摘要:原文 auto w = 01777777777777777777777; 这样报错,用这: auto w = std.conv.octal!1777777777777777777777; 说,整溢出. 这样会工作: auto w = std.conv.octal!"17777777777777777 阅读全文
posted @ 2022-04-08 11:10 zjh6 阅读(8) 评论(0) 推荐(0) 编辑
摘要:DMD的2.099.0版本于3月6日发布.这是大型版本,包含100个贡献者的20个主要更改和221个已关闭的Bugzilla问题.此版本一些亮点:D模块可通过ImportC导入C代码;D现在有throw表达式;现在窗口上DMD中的默认为PE/COFF输出.完整更改日志. 使用ImportC在导入C源 阅读全文
posted @ 2022-04-08 10:34 zjh6 阅读(17) 评论(0) 推荐(0) 编辑
摘要:要手动连接: 1,控制面板\网络和 Internet\网络和共享中心 2,设置新的连接或网络. 3,手动连接到无线网络回车. 4,然后挨个填上. 阅读全文
posted @ 2022-04-07 13:14 zjh6 阅读(85) 评论(0) 推荐(0) 编辑
摘要:1参考 timon原dip 更新dip 用它来实现通用引用计数.主要问题是如何引用计数不变/常量对象.Timon最初提议按不影响基于纯优化方式实现__metadata.可这样: 应用至相同不变参数时,强纯函数(返回无间接类型)返回相同结果. 通过重写: auto a = foo(arg) // fo 阅读全文
posted @ 2022-04-07 11:16 zjh6 阅读(10) 评论(0) 推荐(0) 编辑
摘要:原文 import std.traits: getSymbolsByUDA; struct MyUDA { } class A { @MyUDA int a; } class B : A { @MyUDA int b; } void main() { alias G = getSymbolsByUD 阅读全文
posted @ 2022-04-07 09:01 zjh6 阅读(10) 评论(0) 推荐(0) 编辑
摘要:原文 如下会报错. mixin template sum(T, R) { R opBinary(string op)(T rhs) const if (op == "+"){ return R(x + rhs.x, y + rhs.y, z + rhs.z); } } mixin template 阅读全文
posted @ 2022-04-07 08:52 zjh6 阅读(14) 评论(0) 推荐(0) 编辑
摘要:Martin:LDC已准备好下个主要版本. 改变extern(D)调用约定,不再反转形式参数.直到最近,DRuntime和编译器间还有相互依赖.当有人修复矮人发射时,尤其有问题. 一个问题是,带多个参数并假定参数在特定寄存器或栈槽中的裸asm函数会中断.必须改变Phobos,使LDC的Phobos和 阅读全文
posted @ 2022-04-06 09:36 zjh6 阅读(22) 评论(0) 推荐(0) 编辑
摘要:去掉元素 auto dropSlice(T)(T[] array, T which) { T[] result; size_t i; // old index foreach(index, element; array) { if(element == which) { result ~= arra 阅读全文
posted @ 2022-04-06 09:01 zjh6 阅读(17) 评论(0) 推荐(0) 编辑
摘要:import object; template add(int x) { pragma (msg, x); int add(int y) { return x + y; } } extern (C) extern (C) void main() { add(2); add(1); add(0); r 阅读全文
posted @ 2022-04-06 08:56 zjh6 阅读(10) 评论(0) 推荐(0) 编辑
摘要:这里 消除引用 中 域歧义. 推导std.typecons.Tuple.opBinary!"~"时,应为return scope,推导为了return ref. 需要正确修复这个问题. 1,把return-ref变成了return-scope. 2,除非return-scope,总是ref-retu 阅读全文
posted @ 2022-04-05 22:35 zjh6 阅读(13) 评论(0) 推荐(0) 编辑
摘要:参考 version (unittest) { // <-- ADDED //在这种块中加`类型/声明`. import some_unittest_utils; // <-- Added example struct JustInt { int x; } } // <-- ADDED static 阅读全文
posted @ 2022-04-05 21:38 zjh6 阅读(9) 评论(0) 推荐(0) 编辑
摘要:自己来重定向,csdn不给你重定向.我就自己来重定向.太e心的app下载了. Redirect: https://www.csdn.net/apps/download/ to: https://editor.csdn.net/md/?not_checkout=1 Hint: 去掉app Exampl 阅读全文
posted @ 2022-04-05 20:33 zjh6 阅读(2) 评论(0) 推荐(0) 编辑
摘要:接上篇 在外界观察到之前赋值.看看当前语言能否实现. struct LazyValue(T) { private class Impl { immutable T value; this(immutable T v) { value = v; } } private Impl impl; priva 阅读全文
posted @ 2022-04-05 19:45 zjh6 阅读(12) 评论(0) 推荐(0) 编辑
摘要:目标为导向的任务清单代替旧的愿景文件,维护当前主要的长期目标和一些更小的短期目标列表,分解成具体任务. 如,主要的长期目标是内存安全(如,特定错误,完全启用DIP1000支持)和Phobosv2.还讨论了其他目标,如实现命名参数,改进编译时自省,改进Phobos的@safety等等. 如何改进错误消 阅读全文
posted @ 2022-04-05 19:42 zjh6 阅读(16) 评论(0) 推荐(0) 编辑
摘要:参考地址 但只有该例: struct Foo { mutable int len; mutable bool len_done; const char* str; int length() { if (!len_done) { len = strlen(str); len_done = true; 阅读全文
posted @ 2022-04-04 10:14 zjh6 阅读(17) 评论(0) 推荐(0) 编辑
摘要:我的两个问题: -新添加到D中的ImportC. -当按ForwardRange区间与.save()一起用时,操作可能会意外多次运行. import std.stdio; import std.algorithm; import std.range void main() { size_t 账号数 阅读全文
posted @ 2022-04-04 09:23 zjh6 阅读(11) 评论(0) 推荐(0) 编辑
摘要:原文 偷工线程池解决了多队列线程池中"饥饿等待"问题,即有的线程队列中的任务很多,有的线程队列是空的,处于"饥饿等待"状态,偷工可把其它线程队列中的任务偷过来避免"饥饿",提高了线程池效率. 偷工线程池 实现思路 之前线程池都是通过阻塞拿到队列中任务: 极 弹(T&项){ 独锁 锁(_互斥锁); _ 阅读全文
posted @ 2022-04-03 17:54 zjh6 阅读(19) 评论(0) 推荐(0) 编辑
摘要:module ana; class Foo { string isim() { return "Foo Class"; } override string toString() { return .isim;//这里不是本地,而是外部 } import std.stdio, adi.d; void 阅读全文
posted @ 2022-04-01 08:19 zjh6 阅读(13) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示