当筵意气临九霄,星离雨散不终朝。这篇文章主要讲述d生成模板相关的知识,希望能为你提供帮助。
??原文??
struct TranslatedString
private string _str;
string get()
return curLang.translate(_str);
alias get this;
template gettext(string str)
version(extractStrings)
shared static this()
++translatableStrings.require(str); // 即使++可不必,这里也用require
enum gettext = TranslatedString(str);
它仍生成模板,但?
?关键?
??区别是,??TranslatedString?
??是类型而不是模板.??枚举?
??只在编译器中,它是每个地方复制一份.所以不占用??空间?
??,2个??字?
??(串引用).但只有一个??TypeInfo?
??(不确定),及一个小的??CTFE?
??调用构造.它会占用??
?符号表?
??中的空间,但是编译完成后,就会消失.总之,??
?不应?
??害怕用D编写??模板?
?.【d生成模板】
推荐阅读
- MySQL中的读锁和写锁(InnoDb行锁表锁 MyISAM共享读锁 MyISAM独占写锁)
- 并发-显示锁Lock和独占锁AQS(AbstractQueuedSynchronizer)
- d改进翻译
- 并发-原子操作和CAS(CompareAndSwep)
- Lambda表达式及双冒号操作符
- d的破坏与安全
- jQuery基础—— 解决jQuery冲突
- Mysql索引灵魂拷问
- d的嵌套赋值