2015-01-01から1ヶ月間の記事一覧
GCC拡張のcleanup attribute使えば簡単にscope_exit文を作れそうだな、と思って作ってみた。ネスト関数のプロトタイプ関数に使うautoとか初めて使った。 #include <stdio.h> #define scope_exit() \ auto void on_scope_exit(void *ptr);\ __attribute__((cleanup(on_</stdio.h>…
C言語でデストラクタ及びスマートポインタを実装した人が居るらしい。何というタイミング。GCC拡張のcleanup attributeを使っているので、使い道は少なそう。それと、メモリをスタックからじゃなくてヒープから取得してるのが気になる。[C] Implementing sma…
C++11は良く分からんので、C言語で。参照でもないけど、実装は似たようなもん。デコンストラクタ問題やオーバーロードや演算子オーバーライドが無いので別物だけど、これはこれで使い道ある気がする。moveについては、safe_freeのような趣きがあって良ろしい…