C++ と低レベルプログラミングと dynamic_cast

@SubaruG さん、@AoiMoe さん、@takawata19 さんが C++ と低レベルプログラミングを語ります
0
前へ 1 ・・ 3 4 次へ
AoiMoe a.k.aしお兄P @AoiMoe

@SubaruG フリースタンディング環境では例外使えなかったりする可能性があるからじゃないですかねえ

2010-08-22 04:09:50
普通のC++使い、銀天すばる @SubaruG

ってか、C++にもなって生ポインタ使ってる人ってなんなの? ドM?

2010-08-22 04:10:03
AoiMoe a.k.aしお兄P @AoiMoe

例外なんてちゃんと使えるようになったのはごく最近のことだよ!

2010-08-22 04:10:30
普通のC++使い、銀天すばる @SubaruG

ポインタの概念自体は強力だしC++の根幹だけど、実際に使うには少々鋭利すぎやしないか?

2010-08-22 04:11:07
普通のC++使い、銀天すばる @SubaruG

@AoiMoe 参照の場合は例外投げるんですけどね。

2010-08-22 04:11:31
普通のC++使い、銀天すばる @SubaruG

C++の例外は catch して処理を継続するものではなく、後始末した上で さっさと落ちるためのもの。

2010-08-22 04:14:27
AoiMoe a.k.aしお兄P @AoiMoe

フリースタンディング環境でも例外は必須なんだな

2010-08-22 04:15:19
普通のC++使い、銀天すばる @SubaruG

だったら set_terminate でいいじゃん、という意見もある。 僕も割とそう思う。でもデストラクタが呼ばれないせいで変なことになるかもだしだし。

2010-08-22 04:15:40
AoiMoe a.k.aしお兄P @AoiMoe

@SubaruG まあ例外はエラー処理のためのものなので、エラーじゃないケースに例外は使いたくないですよね。dynamic_cast<... *> が NULL を返すのはエラーじゃない場合もありうるので

2010-08-22 04:16:27
普通のC++使い、銀天すばる @SubaruG

@AoiMoe ですです。でも、それを差し引いても、 polymorphic_cast が標準ライブラリにないのは怠慢だと思うのです。

2010-08-22 04:18:37
普通のC++使い、銀天すばる @SubaruG

Boost 以前に、大体の生ポインタは参照で置き換え可能だろうと。

2010-08-22 04:19:47
普通のC++使い、銀天すばる @SubaruG

まぁダウンキャストするようなケースだと、所有権を移譲してしまうことも多いのか。

2010-08-22 04:21:06
普通のC++使い、銀天すばる @SubaruG

何かを所有している場合に参照を使うのはアレだからにゃー。

2010-08-22 04:22:33
普通のC++使い、銀天すばる @SubaruG

っていうか、いつも言ってるけど、 unique_ptr 様様ですよ本当に。

2010-08-22 04:24:22
AoiMoe a.k.aしお兄P @AoiMoe

というか ISO C++ 98 の仕様書の中を freestanding で検索するとほとんど記述がなくて、あるのは「OSを前提としてないよ」「mainや開始終了処理は実装依存だよ」「ヘッダはこれだけ用意すればいいよ」という三つだけ。言語はフルセット。

2010-08-22 04:24:25
普通のC++使い、銀天すばる @SubaruG

魔導書の Egtra センセの記事じゃないけど、 std::unique_ptr -お前を待っていた- って感じ。少なくとも Variadic Templates に劣らない。

2010-08-22 04:26:45
AoiMoe a.k.aしお兄P @AoiMoe

scoped_ptr はいろいろ便利だよね、うん

2010-08-22 04:29:12
AoiMoe a.k.aしお兄P @AoiMoe

まあ ISO C++ に入らなかったのは、さすがに release() がないのはやりすぎ、ということに気づいたんだろう。

2010-08-22 04:30:53
Takanori Watanabe 💉💉💉💉💉 @takawata19

うーむ。abi::__cxa_demangleじゃなくてabi::__cxa_mangleは無いのかな。少なくとも手元のGCC 4.2には

2010-08-22 04:32:41
Takanori Watanabe 💉💉💉💉💉 @takawata19

あと、dlfncの系列でシンボル列挙関数は無いのかな。(そっちは無ければ作れかな)

2010-08-22 04:36:07
普通のC++使い、銀天すばる @SubaruG

@tsu_kunn <memory> くらいは提供して欲しいです。

2010-08-22 04:41:48
普通のC++使い、銀天すばる @SubaruG

STLがなくても生きていけるけど、 unique_ptr がないと生きていけない。

2010-08-22 04:43:27
普通のC++使い、銀天すばる @SubaruG

っていうか unique_ptr があれば劣化 vector くらいは作れる。

2010-08-22 04:44:29
AoiMoe a.k.aしお兄P @AoiMoe

VST SDK のクラス設計がウンコなのは何とかならんのか。どれがホストから呼ばれるコールバックで、どれがホストを呼び出すコールバックなのかさっぱり分からん

2010-08-22 05:33:34
前へ 1 ・・ 3 4 次へ