[過去ログ] C++相談室 part165 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
272
(1): デフォルトの名無しさん (ワッチョイ ef63-uLm/) [sage] 2024/02/17(土) 11:55:24.05 ID:hsYxYbKj0(1/2) AAS
>>250
250(1): デフォルトの名無しさん (ワッチョイ 16cf-BOeC) [sage] 2024/02/11(日) 12:01:58.52 ID:XOPhWcHA0(4/5) AAS
>>248
>例外が関数の階層をぶち抜いてfall-throughしてくることを忘れている発言

やっぱり意味不明だな。catchすれば「階層をぶち抜いて」ってことはないわけだが。

>2. fall-throughする関数が例外による処理の中断でおかしいことにならないか(←要テスト!

もしそのテストが必要なんだとすれば、catchしない場合はその例外が通過する
呼び出し階層全部でテストをしなきゃならないってことになるが。
>>2
2(2): デフォルトの名無しさん (ワッチョイ 194e-FUJr) [sage] 2023/10/31(火) 08:59:52.78 ID:DBRUqQAF0(1) AAS
>1 乙です

前スレ 例外はループ脱出に使うような物じゃない、との意見に賛成です。

自分は、例外は「起こり得るけどいちいちエラー処理を書いたらアホな話を」「処理呼び出し毎ではないレベルで」「エラー対処コーディングするもの」と思ってます。

具体例は、
リンクリストなどコレクション操作でメモリ不足が起きた場合、のエラー処理。
コレクションの追加や削除を頻繁に行うコードって、大体はもっと概念レベルが高い事をやってるので、1件の追加 レベルでエラー処理書いてたらアホな感じになる。

しかも、GUI プロセスを作ってて何か上手く動かないから特定のエラーだけを画面に表示したい、など、ことさら明確に対処したい場合です。プロセスが落ちればいいだけなら、main()の外側、の仕様がやってくれる。

古い本の情報だけど、SBリップマンによると、MS VC++と、sun、hp-ux の C++コンパイラで、例外を使う/使わないで速度性能調査したそうで、 4~6% の速度劣化があったとの事です。
. fall-throughする関数が例外による処理の中断でおかしいことにならないか(←要テスト!
>もしそのテストが必要なんだとすれば、catchしない場合はその例外が通過する
>呼び出し階層全部でテストをしなきゃならないってことになるが。
その通り。テスト不要としたいなら、例外が出た原因を調べて出ないようにするのが筋

原因を調査して対策せずに予防的にテスト不十分のtry { } catch () をてんこ盛りにする方がソフトウェアー品質が上がるという考えのはおかしい

>>251
251(1): デフォルトの名無しさん (ワッチョイ 16cf-BOeC) [sage] 2024/02/11(日) 12:31:22.40 ID:XOPhWcHA0(5/5) AAS
>>249
>1. 例外をせき止めれば良い(←処理不能な未知の例外が飛んでくることが無いというライブラリに対する全幅の信頼

なるほどな。
catchする⇒無視する、握りつぶす って脳内変換されてんだな。

catch書いたからといって上に挙げられたようなテストができなくなるわけじゃないっしょ。必要と思うならやればいい。

3.の意図しない例外の原因調査なんて main() に例外が上がってきてプログラムが落ちてからより
発生個所に近い下層で catch できた方がはるかに調査しやすいと思うんだがな。感覚が違うなあ。
>catchする⇒無視する、握りつぶす って脳内変換
脳内変換ではなくて、予防的に入れたtry { } catch ()部分のテストが不十分な限り事実じゃーん?

>>252
>本質的にやってること変わらないのに
別に。
return -1; は呼び出し側のバグで見落とすかもしれないが
throw std::logic_error("*** ERR ***"); なら悪評千里を走ってバグの兆候が嫌でもワカル
むしろ予防的なtry { } catch () が例外のメリットをreturn -1; に縮小してゐる
275: デフォルトの名無しさん (ワッチョイ 6332-A7R9) [sage] 2024/02/17(土) 13:04:42.05 ID:4+T7+QKn0(1/3) AAS
例外が上がってくるってことはどこかで例外を投げてるってことだぞ。
問題が起きたところでその問題に対して例外を投げるという対処をしてる箇所がある。
想定してないなら例外送出すらできないよ。

その上で人間は大きいプログラムの全体を把握することは困難だし
機械的なチェックがしづらいという現実はあるって話だ。
342
(2): デフォルトの名無しさん (ワッチョイ a944-l7CW) [sage] 2024/06/07(金) 04:24:11.05 ID:qf+nnTv50(1) AAS
ここでCmakeとNinjaについて聞くのダメ?
どーも関係がよくわからなくて?
454: デフォルトの名無しさん (ブーイモ MM0a-bJfQ) [sage] 2024/09/10(火) 11:29:59.05 ID:v6KS9t6sM(1) AAS
>>447
447(2): デフォルトの名無しさん (ワッチョイ 8763-0xUn) [sage] 2024/09/07(土) 20:17:38.39 ID:Ci+xhqlU0(1/2) AAS
>>442
むしろshared_ptr<T>でスレッド間共有オブジェクトを保持するのは
生ポに対するshared_ptr<T>のメリットが無い……
可能な限りスレッド間共有なんてことはやめてconstオブジェクトのコピーにするのが正義……

>>439
自己参照ではないが前方宣言が必須の例、
class TreeNode;

class TreeNode {
  std::shared_ptr<TreeNode> m_pLeft;
  std::shared_ptr<TreeNode> m_pRight;
public:
  TreeNode();
  ...
};
  
お前の理解はshared_ptrの一面だけだな
ようするにunique_ptrの延長でしか見てない
shared_ptrがどうしても欲しくなるのは
オブジェクトのリリースタイミングが非決定的であるとき
これは一般的にマルチスレッド環境

お前のTreeNodeの例はそれこそ生ポで実装しても対して苦労しないが
例えば動的可変multi producerなqueueの場合確実に安全なqueueの解放タイミングを知るにはリファレンスカウントのような制御が必要となる
当然この場合コピーすれば安全なんて寝ぼけたことにはならない
459: デフォルトの名無しさん (ワッチョイ 1ede-2PHd) [] 2024/09/11(水) 12:19:01.05 ID:n6/LwjNL0(2/3) AAS
木のノードはstd::vector<>で確保する
と言われて、だよねってなる人はnewもほとんど必要ない
526
(1): 青木康善 (アウアウウー Sacd-P7MY) [sage] 2024/11/06(水) 17:05:23.05 ID:vfgxFq1Ya(1) AAS
c plus plusとjava、電子音楽作成にどっちが向いてるかな?早いのは無論c plus plusだろうけど。
628: デフォルトの名無しさん (オイコラミネオ MMdd-Qs+Z) [sage] 2024/12/04(水) 11:10:28.05 ID:1b6O8ksjM(1) AAS
[][]演算子が出来たら
[][][]の解釈に困るからできない

というより
[]が一つの演算子だから[][]はないし混乱のもと
[ , ]が正当
657: デフォルトの名無しさん (ワッチョイ 4b73-gMcM) [sage] 2025/01/10(金) 19:09:29.05 ID:Sq5TZMET0(1) AAS
名前が売りたいならtwitterとかで活動された方がいいんじゃないのと思っている
678: デフォルトの名無しさん (ワッチョイ 4663-6Hi7) [sage] 2025/02/10(月) 18:47:33.05 ID:6W8L/x5D0(1) AAS
どうでもいい
好きにやれ
838: はちみつ餃子◆8X2XSCHEME (ワッチョイ cd32-xzp7) [sage] 2025/04/06(日) 16:50:10.05 ID:CSMreA7R0(4/4) AAS
>>837
837(1): デフォルトの名無しさん (ワッチョイ a574-CpEl) [] 2025/04/06(日) 15:06:13.11 ID:BtyKUyO50(1) AAS
#define class struct
#define private public
#define protected public
すれば大体はすり抜けられる
`private` などは用途が限定的なキーワードだからそういうことも出来るけど `class` はちょっと問題があるな。

template<class T> class foo {};

みたいなのが破綻する。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.046s