アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie
まぁ、驚いたのは (スコア:0)
指摘されても問題が何か理解出来ていない編集にはビックリだな
Re: (スコア:2, 興味深い)
自分でプログラミングすることなんか全く無いんでしょうね。
Re: (スコア:1, すばらしい洞察)
ポインタがいまいち理解できない人には朗報だ。
Re: (スコア:0, すばらしい洞察)
それで正しいと思います。
Cのポインタは、
- スカラ値への参照
- 配列への参照
- 動的オブジェクトの所有権管理
- 反復子
これら全然違う概念を一個で実現しようとする、そもそも無茶なキメラですよ。
私はC++使いなんですが、C++なら、状況によって参照やスマートポインタや反復子を使い分けるところです。
理解しようとするとかえって遠回りだと思います。
Re:まぁ、驚いたのは (スコア:0)
という私は邪道なC++プログラマ?
void *p = my_malloc(sizeof(Hoge));
new (p) Hoge();
//(中略)
((Hoge *)p)->~Hoge();
my_free(p);
Re:まぁ、驚いたのは (スコア:1)
# 標準ライブラリ使うからダメとかかなぁ...。
Re: (スコア:0)
my_malloc/my_freeは便宜上書いただけで、実際に使った例としては、「汎用型」「なんでも型」、要はバリアントクラスを実装するために、std::vector<unsigned char>で確保したバッファの中に、動的にオブジェクトを構築するために利用しました。
初めて配置newを知ったときは、激しく感動した覚えがあります。
Re: (スコア:0)
配置newなんか使うのは組み込みプログラマ||ゲームプログラマ||STLのインプリメンタ||ウィザードだけだ!