07 2020 档案
摘要:~原地出向量(){去重(们);}//多一步, //继承类. ~出向量(){转文件(们,出);} //基类,且未加虚 未加虚仍然是先从子类析构,再是基类,这样可以在子类中附加操作.
阅读全文
摘要:构 原地出向量:公 出向量{// 可串构(原地出向量);//用这个 空 切换(串&b){ 出=b;清理(们); 如(存在(b))文件名向量(b,们); }//如果这里改成模板参数,则别人继承你,则又要改,这是不行的. }; 像策略类的的主机类,那些都是大类,构造时加模板参数? 用插件,却又不好修改插
阅读全文
摘要:其实策略这个玩意.可以这样理解: 我把我的类,分拆为几个大类.然后方便管理. 或者我给我的这几个大类,搞个规定.或者叫弄个抽象类,这样.我想替换他时,直接换个另外的具体类, 当然这个具体类继承抽象类. 可以不用先想什么策略.只是先尽量拆分大类.到时候替换时,就可以分拆出来了.弄个接口.继承并实现他就
阅读全文
摘要:/* dmd % -defaultlib= */ extern(C) int printf(const char*, ...); interface I { int omg(); } class A : I { int omg() { return 12; } } class B : A { ove
阅读全文
摘要:DUB软件包根文件夹应包含有构建/部署元信息的dub.sdl(或dub.json)文件.忽略未知设置. 简单示例: //dub.sdl可包含注释,请尽量简洁! name "我的" description "示例" authors "呀" homepage "http://myproject.exam
阅读全文
摘要:多方法 用来解决(A,B,C)每类都有大量关系时选择相应函数.因为他们都是指针型.如碰撞,当然还有很多.暴力法缺点:要知道所有类且顺序不能乱 缺点:仍然产生M * N数量代码.静态分发只负责找正确类型,然后将找到的函数,然后启动.要先排序型列.加上对称性.仿函数可以保存变量. 函子分发器,将调用分发
阅读全文
摘要:访问者模式 用来不改变原继承体系下,实现新的功能.方便添加新类,但不容易添加新虚函数,可以参考这里,两个是一样的.只是祁大神的的没有返回的R参数. 访问者,始终有个动转.能否再用CRTP消灭掉这个运转呢? 将各种概念性操作,提取出来,放在一起. 应该这样,提取出最基本的操作,然后扩展,泛化. 无循环
阅读全文
摘要:对象工厂 功能:由标识产生对象,避免以前那种猜(类型)语句.以达到不修改文件,只增加文件(更易维护)的目的.类之间要相互隔离. 通过注册产品,由产品具体实现功能.工厂不必知道具体产品.当然,还要考虑错误处理.也可搞成策略.映射的插入有返回值.t=映.插入(...).第二,为成功与否. 关联向量,大量
阅读全文
摘要:单件 台湾人的,实作是实现的意思. 很复杂的. 包括如何分配,如何消灭,多线程安全,消灭后操作. 静态函数/成员变量的缺点:不能为虚函数,外界很难改变行为.并且很难初化/清理. 元<型名 T, 元<类>类 创建策略=用新创建, 元<类>类 生命期策略=默认生命期, 元<类,类>类 线程模型=洛基默认
阅读全文
摘要:命令模式 调用者–命令–接收者.就这样,就解耦了.可调用体,就是现在的函数<...>了.已经有了可变模板参数及可变函数参数.环境即绑定.函数子类对象用于封装对象,成员函数,参数这样,就是皮肤/槽位可换肤的关系. 元<型名 R,类 型列> 函数子{}; 因为型列就是用型的列表,这样用不变,代替了可变.
阅读全文
摘要:小内存分配 小型对象不能存在栈上?廉价而快速的动态分配.在堆上.主要就是各种策略类. c堆分配器的简单包装.c通常分配(数百~数Kb).而c++默认管理为8个字节.如果是小对象,则很浪费.间接层(pimpl),则为堆 内存搜索匹配算法:最先,最佳,最差,随机,回收是也要来次线性搜索.主要探讨的就是根
阅读全文
摘要:类型列表. 这一章没啥内容.因为好像可以用元<...>替代了.策略类还可以解决无尽的命名问题.更抽象. 虚函数不能是模板.型列就是专门的类型.以空类型结尾. 1,线性化,用宏.(宏不能递归).所以,… 2,计算长度. 元<型名 T,型名 U> 构 长度<型列<T,U>>{ 枚 {值=1+长度<U>:
阅读全文
摘要:工具 局部类没啥用,静断,偏特化,都很普通了. 整2型可用于,分发,这样不同情况,用不同函数,因为是不同类型,所以用不同函数.如整2型<是多态>.现在可用如 常式来代替.多方法,双分派.型2型与整2型一样,用于函数分发.分开. 选择<真/假,T,U>,真则为T,假为U.可以选择<是多态,T*,T>.
阅读全文
摘要:基于策略的类设计 增加程序弹性,并提高复用性.具备复杂功能的基于策略的类由许多小类组成.小类,负责行为/结构单一功能 全功能接口即大类,是不行的.良好设计应在编译期就能进行很好的约束(断定). 多重继承,无法解决单独设计时的多样性.模板很适合组合.多重继承,很容易扩张,但欠缺技术.而模板丰富技术,有
阅读全文
摘要:import std.stdio; void foo(string) { writeln("foo(string)"); } void foo(int) { writeln("foo(int)"); } void main() { auto a = cast(void function(string
阅读全文
摘要:#include<常用> #include"消息.h" 元<型名 B,型名...O>构 工厂{ 用 F=函数<独针<B>(O...)>; 工厂()=删;用 T=无序映<整,F>; 静 极 注册(整 标识,F f){ 动&t=取();动 p=t.查找(标识); 如(p==t.尾()){t[标识]=f;
阅读全文
摘要:#include<常用> #include"消息.h" 用 名字空间 标; 类 啊{ 公: 啊()=删;用 创建方法=函数<独针<消息基>()>; 静 极 注册(整 标识,创建方法 创建者){ 动&映射=取映射();动 它=映射.查找(标识); 如(它==映射.尾()){ 映射[标识]=创建者; 输
阅读全文
摘要:D菜谱0102 深度学习MxNet原作者视频. 啊哈,看到的都有福了,历年的百度云分享大全 D菜谱0107 D菜谱0106 D菜谱0105 D菜谱0104 D菜谱0103 D菜谱0202 D菜谱0203 D菜谱0111 D菜谱0110 D菜谱0109 D菜谱0108 D菜谱0209 D菜谱0210
阅读全文
摘要:#define 继针(S,T) \ 向量<S*>针;\ 元<型名...G>允许如型<元与值<是基<S,G>...>>\ 加(G*...o){(压(针,o),...);}\ ~T(){清理针(针);}\ //S为待继承,T为本结构,可以直接插入使用者里面 //元<类...G>允许如型<(是基值<B,G
阅读全文
摘要:元<类...G>允许如型<元与值<是基<B,G>...>> 元<类...G>允许如型<(是基值<B,G>&&...)> 上面两句大致相同,详细见 注意.元与内部是<型>,而不是值,避免编译不过去. 以及折叠表达式的用法,不能省略括号(??&&...).
阅读全文
摘要:专利申请流程 专利申请费用 费用2 专利搜索查询 点在线阅读,后面有相应下载. 年费,小的公司或个人可申请减免85%.相应的专利费就下来了. 缺点:必须要有市场价值(否则浪费),且专利有有效期,实用型为10年.发明为20年. 优点:可独占市场.避免他人模仿,可以宣传 可政府贴息贷款,政府的创新奖励与
阅读全文
摘要:use std::sync::{Mutex, Arc}; use std::thread; fn main() { let counter = Arc::new(Mutex::new(0)); let mut handles = vec![]; for _ in 0..10 { let counte
阅读全文
摘要:#include <常用> 构 B{ 虚 空 呀()=0; 空 哈(){ 打印("B"); } }; 构 A:公 B{ 空 呀(){ 打印("A呀"); } }; 构 C:公 B{ 空 呀(){ 打印("C呀"); } }; 构 D:公 B{ 空 呀(){ 打印("D呀"); } }; 元<型名 B
阅读全文
摘要:zzbd 。 , 、 ; : ? ! … — · . ˉ ˇ ¨ ‘ ’ “ ” 々 ~ ‖ ∶ " ' ` | 〔 〕 〈 〉 《 》 「 」 『 』 〖 〗 【 】 ( ) [ ] { } zzd ⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔ ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛ zzde А Б
阅读全文
摘要:级/极不分. 写错了.找半天,还重启了. 到处都是坑.
阅读全文
摘要:对,就是这个关联文件 是个批处理,可惜,他乱搞,没用. 用文件关联时要小心.一不注意,出大错. 还得擦屁股. 1,bat关联.关联回来 2,右键txt关联.恢复回来. 真坑人的东西!
阅读全文
摘要:升级vim是个大事情.又总是常见.所以,要记录下来: 这里是vim学习脚本的地方 1,用迅雷下载最新的exe. 2,将原来的vim目录重命名为vim111. 3,将_vimrc复制过去. 4,将pathogen.vim复制到autoload, 5,将我的目录复制进有gvim.exe目录. 6,把bl
阅读全文
摘要:import std; class S { SysTime a; shared SysTime b; synchronized shared void setIt(SysTime t) { // What I used to do cast () a = t; // Here you need to
阅读全文
摘要:import std.stdio; import std.process; import std.format; import std.algorithm; // Copied the interface from executeShell auto executeShellSudo(scope c
阅读全文
摘要:enum LogLevel { INFO, WARN, ERROR } template log(LogLevel level) { void log(Args...)(Args args, string fn = __FUNCTION__, string file = __FILE__, size
阅读全文
摘要:-fuse-ld=gold -Xcc=-fuse-ld=gold gnu 的gold链接器或其他 而ldc2这样,在dub.sdl中: dflags "-linker=gold" platform="linux-ldc" # use GNU gold linker
阅读全文
摘要:vim插件编写 vim指北 cio c语言 c数值 c++算法 c++原子 c++时间 c++容器 c++错误 c++实验 c++文系 c++io rust学习 d语言元编程 js学习 ts学习 vue3学习 c#学习 c++语言 wtl框架 qt学习 c++本地
阅读全文
摘要:这样我们就可以不断的增加自己的常用的东西,而不用大费周章的瞎折腾了.参考地址 我前几天,没搞懂. 是要,先在编译自己的静态库中就用/w /Gy /std:c++latest.其中/Gy为关键. 然后,在传递给link的选项中加入/OPT:REF,就可以了.亲测成功.以后不用担心exe文件太大了.
阅读全文
摘要:#pragma comment(linker, "/FILEALIGN:16") #pragma comment(linker, "/ALIGN:16") #pragma comment(linker, "/OPT:REF") #pragma comment(linker, "/OPT:ICF")
阅读全文
摘要:要注释掉/*overflow:auto*/这句话.不然微信公众号始终有条条
阅读全文
摘要:CFLAGS 加上 -ffunction-sections -fdata-sections LDFLAGS 加上 --gc-sections 参考地址 cl没找着. 看起来是这样cl /Gy LinkerFunctions.cpp /link /OPT:REF.但没用.还是原来那么大. 这里介绍强制
阅读全文
摘要:我还以为我又犯错了. 我开始实验了一下c++20的微软模块功能,不成功. 要把这个/experient:module.给注释掉.这里的单词可能拼错了.请注意. 太吓人,说msc1.cpp错误,找都找不着有这么个文件. 我只要链接了我自己的常用库的函数,起码都是550kb,使用了一个都这样,不链接自己
阅读全文
摘要:现在只想到一种思路:从后往前一个个的拆分(函数) 多写了一个函数,多用了320kb.原来是550kb,然后,我把相关依赖去掉后,只有220kb. 必须得拆分这个常用头了太多了. 可以不用拆分了.也拆分不了.依赖关系太乱了.
阅读全文
摘要:空 加一(极&a,整&m,整 n){ 如(a)中;如(!n){a=1;中;}m++; }//如前面停止了,中m,当前n为0,中m,否则加1个 空 减一(极&a,整&m,整 n){ 如(a)中;如(!n){a=1;中;}m--; }//如前面停止了,中m,当前n为0,中m,否则减1个 元<极 M,型名
阅读全文
摘要:弄了一上午,用文件保存方式不爽,不如用本地存储,如下: 参考地址 var s=new Set(); var a=window.localStorage; function gg(){ var i=s.size; var q=document.getElementById('sb_form_q').v
阅读全文
摘要:整 指数(整 M,整 N){//M**N,M的N次方 整 a=1;当(N--)a*=M;中 a; }//管用,不好用常式. 整 单项(整 B,整 I){中 B*指数(2,I);} 元<整...I,型名 T>整 多极转(序列<I...>&a,T&o){ 整 i=0;整 N=型长...(I); //((
阅读全文
摘要://用模板时千万要小心 因为模板是生成个全新的,如果已写了很点,再点模板,会覆盖,用了后注释掉(即加个分号). 覆盖文件的操作最危险,你想后悔都没机会了.
阅读全文
摘要:我觉得.写程序,能用函数尽量用函数. 函数太小了,就该上类了.类就是个用来提供功能的大函数. 一个类,一个文件.需要时加,不需要时不加.颗粒度非常小. 生成文件非常小.非常爽. 一个类,一个功能,.接口要少而精. 整个程序分三层.总,分,子类.1个总,100个分,1个分类下面100个子类. 根据需求
阅读全文
摘要:构 可串构{//三个 显 可串构(常 符*s){串 n=s;切换(n);} 显 可串构(符*s){串 n=s;切换(n);} 显 可串构(串&s){切换(s);} 显 可串构(){}//必须加上.否则要报错 空 切换(串&s){};//改成空函数,可隐藏父的函数 };//继承,再加上(用 可串构::
阅读全文
摘要:空 主(){ 极 在前=1;向量<整>列{16,34,34}; 打印(列[!在前],列[在前],列[!(在前+1)]); }
阅读全文
摘要:试{d.取一层(缀);出.加(d.们);} 抓(...){错.加(行);} 看嘛.不用异常不得行.
阅读全文
摘要:let g:LanguageClient_serverCommands = { \ 'd': ['f:\path\dls_bootstrap.exe'] \ } function LC_maps() if has_key(g:LanguageClient_serverCommands, &filet
阅读全文
摘要:明明号称内存安全.结果.编译的时候,又使劲用内存. 内存量都是100M为单位涨.几下几下就满了. 对不起,内存不足编译不了了. 这就是编译dls的体验. 自己编译,结果编译出来的是x86_64版本要不得. 要x86的,只好找原来的版本.还有.0.24的 还有一个问题就是,betterC不能继承.折腾
阅读全文
摘要:为了使用vim的d的lsp的语言服务. 在此下载了源码,二进制下载的速度还赶不上11分钟的编译速度. 还好,只依赖200来个. 只生成683M文件.真是恶心到家了. 怎么说呢? 外国人的东西,都是涅着鼻子用.
阅读全文
摘要:如题. 你永远不知道你要下载的包的依赖包有多少. 再加上现在ssl不能用中科大访问,你得专门找个.这个地址 [source.mayun] registry = "https://gitee.com/rust_venom/crates.io-index" 一切的目的,都是恶心人.
阅读全文
摘要:1,修改后.是否可以闭源.分为bsd,mit,apache,可以. 而lgpl,mozilla,gpl不行. 2,闭源中每一个修改后都必须放版权声明的是.apache. bsd,mit可以不放版权声明. mit,使用者自己的软件可以用mit作者的名字促销.而bsd不行. 3,开源类. 新增代码必须是
阅读全文
摘要:参考地址 #include <stdio.h> int count(); // From the D code int main() { int j; for (j = 0; j < 10; j++) { printf("%d\n", count()); } return 0; } 上面c代码,下面
阅读全文
摘要:#include <stdio.h> #include <stdlib.h> //#include "a.h" void main() {//dpp不支持中文 printf("你好\n".ptr); enum numInts = 4; auto ints = cast(int*) malloc(in
阅读全文
摘要:最大的教训,当然就是对程序而言.扩展性是非常重要的. 如果扩展性不行,就必须重构,然后各种编译时,运行时错误. 这样你以前调试好的程序就没用了.非常浪费时间及精力.所以程序的扩展性在一开始就要考虑好. //错误的代码,可删掉. //可变成切换尾,再变回来,a,b交换 //假如切换不对,这个就错了.
阅读全文
摘要:static foreach (T; Types) () { innerloop: while (haveMoreData) { ... break innerloop; ... } } ();
阅读全文
摘要://静 串 隐{"System Volume Information"}; 对(动&p:递归目录步(根,目录选项::跳过拒绝权限)){ 要加上跳过拒绝权限,还有,要加上异常. 抓(文系错误&e){ 静 出向量 出{"错误00.txt"}; 打印(e.什么()); 出.加(b);b=e.什么(); 出
阅读全文
摘要:#define 调试等级 4 //越大细节越多 元<整 I,型名...T>空 调试(T&&...o){ 如(调试等级<I)中; ((输出<<o<<','),...);输出<<行尾; }//越小越概括,0级代表无,越大代表细节越多 使用大量文件来试探程序,这或许就是模糊测试吧. 这样的调试没多大用.不
阅读全文
摘要:先是编译错误.后面可能有运行时错误. 1,基类的实现虚函数,有返回值,要加返回值. 2,排序的时候,自己的f出问题.是因为函数原形没写对,应该这样:函数<极(T&,T&)>h;对T,加上&号. 3,压词(符,,),当时不支持更普通泛型.所以新加了个模板,现在好像能够支持符按引用传递了.多加了个模板参
阅读全文
摘要:#include <常用> 构 子{ 整 x=0; 显 子(整 i){x=i;} 空 测试(){ 静 整 b=x+5;打印(b); } }; 空 主(){ 子 b{4},c{46}; b.测试(); c.测试();//打印的都是9. }
阅读全文
摘要:枚 型{基的,子的}; 构 基{ 型 a=基的;整 x=0; 空 啊(){ 打印(a,x); } }; 构 子:基{ 显 子(整 i){a=子的;x=i;} }; 空 主(){ 基 a;子 b{4}; a.啊(); b.啊(); } 测试移动: 空 主(){ 向量<整>a,b{234,34,35,2
阅读全文
摘要:如(d=='.'){//只能有1个点 点数++;右();如(点数==1)下; 打印("点数不对");置(m);中 0; }//不支持什么科学计数,这里就死循环了. 就这么一块,少写了一个右().找半天.假设以后有时间写测试的话,一定要测试完整.将每个函数都测试到. 这样不会出错. 完整测试,不仅仅包
阅读全文
摘要:z-index: 99; position: fixed; 这两个是连着一起用的.光控制位置没用. 你就这样: position:initial!important; z-index: -99999!important; }
阅读全文