実績紹介
2012/11/29
Codelogyの更新
mima
Codelogyに、新しい記事を追加しました。
http://codelogy.org/?p=613
今回の記事は、最近、std.algorithmに追加された、forwardテンプレートに関してです。
関数の引数の非ref性を維持するテンプレートですね。
以下のような感じです。
コード:
import std.stdio, std.algorithm; int hoge()(auto ref int i){ return piyo(forward!i); } int piyo(int i){ return 1; } int piyo(ref int i){ return 2; } void main(){ int i; hoge(1).writeln(); hoge(i).writeln(); }
結果:
1 2
記事の中で、詳しく解説しています。
興味がありましたら、ぜひ見てみて下さい。
話は変わりますが、構造体とfinal classは、それぞれnewの速度が異なるとどこかで聞いたので、
実際にベンチマークをとってみました。
すると、基本的に構造体の方がnewが速いのですが、最適化のオプションをつけてコンパイルすると、final classの方が速くなりました。
詳しくは、次回の記事で書こうと思います。
担当:美馬(構造体をnewする機会なんて、滅多にないけれど)