アカウント名:
パスワード:
CとC++は似て異なるものです。
少しでもC++を使うのなら、C++を完璧にマスターし完全なコーディングをしなければ、ぱっと見はわからない落とし穴を無意識のうちに掘りまくることになります。
ちなみに、例外を使わない、というのは大変ですよ。
私、
コンパイラの設定で例外をdisableし、newが失敗したときに例外をthrowする代わりにNULLを返すように設定
すればいいと思っていたんですが、
class foo ;void func1(foo arg) {// 中略} void func2(void) {
この例でメモリが足りなくなる場合というのはすなわちスタックオーバーフローですので、普通の処理系では単にsegfaultして終了だと思います。私はこのような状況で例外を飛ばすように仕込まれたコンパイラを見たことがありません。
C++の規格でもこの場合に例外を飛ばすことは要求していなかったと思います。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
身近な人の偉大さは半減する -- あるアレゲ人
混ぜるな危険 (スコア:0)
CとC++は似て異なるものです。
少しでもC++を使うのなら、C++を完璧にマスターし完全なコーディングをしなければ、ぱっと見はわからない落とし穴を無意識のうちに掘りまくることになります。
ちなみに、例外を使わない、というのは大変ですよ。
私、
コンパイラの設定で例外をdisableし、
newが失敗したときに例外をthrowする代わりにNULLを返すように設定
すればいいと思っていたんですが、
Re:混ぜるな危険 (スコア:0)
この例でメモリが足りなくなる場合というのはすなわちスタックオーバーフローですので、普通の処理系では単にsegfaultして終了だと思います。私はこのような状況で例外を飛ばすように仕込まれたコンパイラを見たことがありません。
C++の規格でもこの場合に例外を飛ばすことは要求していなかったと思います。
Re:混ぜるな危険 (スコア:1)