《D程序设计语言》中文版已经出版,感谢张雪平等人的辛勤翻译!感谢Andrei和Walter等人的努力!

D语言编译器DMD开源了!!!

建议所有喜欢的人都去新闻组感谢Walter!Walter是我们心目中的英雄!!

最近更新文章

D语言实现的variant

boost.variant 是安全、范型、基于栈的可识别联合容器,下面的代码是其在D语言中的等价实现。借助D语言强大的元编程能力,其与C++的版本相比,代码清晰,对类型安全有更大的保证。 boost.variant 文档:http://www.boost.org/doc/html/variant.html boost.any 和 boost.variant 的区别与比较: http://www ...
oldrev 评论 (0) 有 974 人浏览 2011-05-26

D语言设计模式 Observer

Observer设计模式 类型:行为型 意义: 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。 适用:当一个抽象模型有两个方面, 其中一个方面依赖于另一方面。将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。 当对一个对象的改变需要同时改变其它对象, 而不知道具体有多少对象有待改变。 当一个对象必须通知其它对象,而它又不能假 ...
ideage 评论 (0) 有 999 人浏览 2011-05-26

D语言设计模式 Singleton

引言 语言的进步,可以简化设计模式的实现. Singleton模式 类型:创建型 意义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 1.D的实现 一个类的实现 class Singleton { public: static Singleton opCall() { if(_instance is null) _instance = new Singleton; return ...
ideage 评论 (0) 有 813 人浏览 2011-05-26

D语言编译期生成和编译期执行技术

借助D语言新的mixin表达式,可以完成一些代码生成功能,比如: template attr_accessor(T, char[] name){ mixin(" private T _" ~ name ~ "; public " ~ name ~ "(){ return _" ~ name ~ "; } public &quo ...
qiezi 评论 (0) 有 1042 人浏览 2011-05-26

编译期或运行期程序收集(meta programming)

1. Phobos: std.demangle 得到编译后的名称字符. std.metastrings 编译期操作字符串. std.traits 编译期类型识别. 2.运行时反射:http://flectioned.kuehne.cn/,有例子,支持最新的DMD1.007.用-g进行编译,可以动态创建对象. 3.字符串混入: 混入创建对象:template GenStruct(char[] ...
ideage 评论 (0) 有 731 人浏览 2011-05-26

如何获得一个方法的名字?

在D语言中,一个方法你可以得到它的指针(函数指针或委托),但不能获得它的名字,这点和C++相似。 不过今天看到PyD的一个例子: import pyd.pyd; import std.stdio; void hello_func() { writefln("Hello, world!"); } extern (C) void PydMain() { def!(hello_f ...
qiezi 评论 (0) 有 793 人浏览 2011-05-26

D语言的函数编程

前阵子论坛上有人问我D语言做函数编程怎样,老实说我没怎么想过这问题。现在想来,D语言可以有函数指针、委托、仿函数(opCall),所以它和C++基本上没什么不一样。 想起了python,虽然以前没研究过它的函数编程,不过还是搜索了一下,IBM Developer Works的“可爱的python系列”格式乱得没法看,就没继续看了。从中找出python的几个算子比如map, reduce, filt ...
qiezi 评论 (0) 有 1134 人浏览 2011-05-26

D语言和python的差异

这2个语言的比较怪怪的,我最近转换了一些twisted的源文件到D,发现有些东西直接抄过来还是不可行的。 一、参数 比如twisted的callLater: class IReactorTime(Interface): """Time methods that a Reactor should implement. """ def c ...
qiezi 评论 (0) 有 1210 人浏览 2011-05-26

从简单测试看D数组内存分配策略

D语言动态数组可以在运行期改变大小,这和C++的vector相似。似乎记得“STL源码分析”一书中提到vector的内存分配策略是倍增方式的,D语言数组是不是也使用了相同方式呢?我做了个简单的测试: void main(){ void* ptr = null; int[] arr = new int[0]; for (int i=0; i<33; ++i){ void* cur = cas ...
qiezi 评论 (0) 有 1130 人浏览 2011-05-26

追求卓越的Stewart

Stewart 发表了一封Walter坏习惯的信.看了让人感动.Walter为我们所尊重.Stewart追求卓越的精神鼓舞人心.无论是设计思想,还有错误处理,语法拼写,都在精益求精. 我辈当学而思之. Stewart的D资源主页http://pr.stewartsplace.org.uk/d/ 引用 It's time to make a list of Walter's habits th ...
ideage 评论 (0) 有 865 人浏览 2011-05-26

D语言的成员函数模板

DMD 0.166 特性列表中有一条: * ncorporated Oskar Linde's patches to support member templates. 当时没注意,今天看到邮件列表中的一个帖子。才发现已经支持成员函数模板了,不过是不是在0.166中支持的就不清楚了。 没有成员函数模板的模板是不完整的。一个简单的例子,源于我的另一篇“泛型矩阵类”: class Matrix ...
qiezi 评论 (0) 有 808 人浏览 2011-05-26

知识库信息

  • qiezi在2007-08-15创建
  • qiezi在2011-05-26更新

最新评论

我深深的期待中.....
maetrive 评论了 D语言学习方法
Global site tag (gtag.js) - Google Analytics