又见烂东西

以前没事看看boost,里面有一个spirit 库专门用来做词法分析的库。

里面运用了,大量的操作符重载和模板相关的运算,来达到用C++的语法来写ebnf的代码。

这里面ebnf语法是他自已创造的,为了兼容C++的操作符重载,以及模板,搞出来的奇怪东西。

用这个库写程序,简直就是超越你对C++的想象。在这里C++完全不再是普通人用到的C++,没有一个类不是

操作符重载,如果有一个不是那么你的程序将出现奇怪的关于模板实列化的错误。

     今天看看D语言的项目,http://www.dsource.org/projects/ebnf,又发现一个试图用操作符重载和模板来创造

一个新的ebnf的项目。

      D语言爱好者,没事都吹,D语言简化了C++的模板,操作符重载方面的东西,没想到还是有人创造这样的

烂东西。

     感觉一个语言好不好,很多时候,还是要看拿他去做什么事。

     像现在这个想通过操作符重载和模板来做这么多事,已经超越语言设计者本身设计这种语法的初衷了,

所以不好用也是正常的.

     我记得某大师指导我们,一般不要重载*,&,这样会加大这个应用这个类的复杂性。

你可能感兴趣的:(C++,c,C#,D语言)