[過去ログ] C++相談室 part165 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
21: (ワッチョイ a905-fLgT) 2023/11/03(金)10:21:23.72 ID:sUQ44pbr0(1) AAS
←vーー( ゚∀゚)!ー^ー
133(1): (ワッチョイ 7f7c-JApz) 2024/01/11(木)04:45:44.72 ID:wlSOhq+Y0(1/2) AAS
例外って全部mainで捕捉すべきかな?
調べてみたら例外が捕捉されずにプログラムが終了する場合スタックアンワインドが起こるかは実装定義みたいなんだけど、それじゃグローバルなオブジェクトのデストラクタが呼ばれないんじゃないかって思って試してみたのよ。
外部リンク:ideone.com
やっぱりデストラクタは呼ばれなかったからリソースリークが起こりうるんじゃないかと思うんだけど、例外に対してはどういう態度でいるべきかな?
A. リソースリークはまずい。だから例外は全部捕捉するべき。
B. 例外はロジック上捕捉する必要があるものだけ捕捉して、それ以外はほっといていい。
C. 例外が捕捉されなければstd::abortが呼ばれるので、コアダンプなりで色々調べることもできる。だからmainで例外を全部握りつぶすようなことはすべきではない。
省2
140: (ワッチョイ ff11-Nf4k) 2024/01/11(木)20:09:51.72 ID:AWAYnmwT0(2/4) AAS
>>137
しったかすんな
147: はちみつ餃子◆8X2XSCHEME (ワッチョイ 7f3e-Cx9t) 2024/01/12(金)02:09:19.72 ID:Z8/dVhwe0(1/2) AAS
理想的には全ての例外はキャッチされるべき。 ただ、現実は理想的ではない。
キャッチするのは対処するためなので想定漏れで思ってもなかったような例外が上がってきた (対処が出来てない) ならそれはバグなんだから検証して修正する必要があるわけだし、検証しやすい形で止まったほうがいい。
C++ ではスタックの巻き戻しの途中で例外を送出したときの挙動は未定義なので通例ではデストラクタから例外を投げないように設計される。
つまりデストラクタでの後始末に失敗したらもうそれを (例外機構の仕組みでは) フォローできない。
想定されてない例外が上がってるときに後始末がちゃんとできずにわけのわからない動作を引き起こしたら検証にも支障がある。
171: (ワッチョイ 6ecf-CdjJ) 2024/01/15(月)19:20:39.72 ID:Y8oMeLNI0(3/5) AAS
なんで爆増?
246: (ワッチョイ 637c-IqbK) 2024/02/11(日)10:07:06.72 ID:9XvrSVak0(2/2) AAS
>>244
バグのあるなしなんか関係ない設計の話だし、「例外はエラー伝達の具体的方法の一つ」って話のどこが抽象的なのかも分からないし、
「C++の現実」とか「カオス」が具体的に何のことで何の関係があるかも分からないし
STLにpopがないのはnoexcept moveがない時代に例外安全に出来なかったからだけど今の話に何の関係があるかわからないし
そんなのまともなC++erなら誰だって考えて設計してると思うけど、そうでないタコの話が何の関係あるかわからないし何もかも分からなすぎてすごい
仕事でそんなドキュメントやレビューコメント出すなよ
>>245
省4
374(1): (ワッチョイ 5d01-viEi) 2024/07/28(日)12:00:20.72 ID:x9q80Pnt0(1) AAS
>>370
auto
オートね
(いいこと聞いた
497: (ブーイモ MMde-7TYI) 2024/09/28(土)14:26:57.72 ID:yW35cSECM(1) AAS
その手の話はMICROSOFTの新機能ぐらいい思っておけば
腹も立たない
766: (アウアウエー Sa23-D2PX) 03/18(火)18:06:10.72 ID:2EW8BzNca(1) AAS
>>760-762
各要素のサイズが一定じゃないから無理なんやろな
821(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ cd32-nY3F) 04/06(日)09:09:40.72 ID:CSMreA7R0(1/4) AAS
>>818
コードで言えばこういう状況かな?
外部リンク:wandbox.org
基底にある仮想関数と同じシグネチャならオーバーライドするという規則は単純に言語設計の失敗。
だからこそ override 指定子が導入された。
override 指定子ではオーバーライドのつもりでオーバーライドになっていないときを検出できても
オーバーライドではないつもりでオーバーライドになってしまうことは検出できないのだが……
省1
894: (ササクッテロロ Spd1-gX4K) 04/12(土)08:50:38.72 ID:7ueEveVip(1) AAS
つまり、OSをrustで書き換えたらって話かなぁ?
952: 青木康善 (アウアウウー Sa21-0ulL) 04/21(月)20:22:54.72 ID:ArvlOry0a(1/2) AAS
reasonというソフトのrack extentionを作りたいです。
988: (ワッチョイ 66a1-0INX) 04/26(土)17:25:44.72 ID:DKbZdqM30(1) AAS
>>961
breakもcontinueもgotoの一種なのだから仕方が無い
行先がスコープの始まりか終わりに限定される、というのが良心的なだけで
実行フローをぐちゃぐちゃにできうる能力のはgotoとほとんど変わらないし、、、
for (i=0; i < 100; i++) {
if (i == a) { continue; }
if (i == b) { break; }
省6
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.035s