朝早く目が覚めてしまったので、朝飯前に何かコーディングすることにした。何をコーディングするか。できればメタプログラミングがしたい。そうだ、unique_ptrはどうだろう。たしか、unique_ptrのnested typeであるpointerは、メタプログラミングが必須だったはずだ。
というわけで、さっそく、unique_ptrの実装にとりかかった。しかし、unique_ptrの実装は、意外と面倒だった。
pointerは簡単なのだが、面倒なのは、ポインターとデリーターの両方を仮引数に取るコンストラクターだ。これは、難しいというわけではないが、相当に面倒だ。
しかし、わざわざここまでして、lvalueリファレンス型のデリーターをサポートする必要があるのだろうか。デリーターは、どう考えても初心者がたやすく使いこなせるとは思えない。
No comments:
Post a Comment