- 1 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 17:56:53.03 ID:uFDqtnkl.net]
- C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。 前スレ C++相談室 part146 https://mevius.5ch.net/test/read.cgi/tech/1573094136/ このスレもよろしくね。 【初心者歓迎】C/C++室 Ver.105【環境依存OK】 mevius.5ch.net/test/read.cgi/tech/1556142878/ ■長いソースを貼るときはここへ。■ codepad.org/ https://ideone.com/ [C++ FAQ] https://isocpp.org/wiki/faq/ www.bohyoh.com/CandCPP/FAQ/ (日本語) STLつかうと一気に実行ファイルサイズが10倍に?! 環境によるだろ。 俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力 ランタイムを使用するようにして使っているが、例えばstd::vectorを 使っても使わない時と比べ10Kほどしか増えない すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。 ↑え?だってお前、普通ダイナミックリンクするだろ? "ダイナミックリンク"す・れ・ば、ファイルサイズ**増えないです**
- 297 名前:デフォルトの名無しさん mailto:sage [2020/01/17(金) 17:45:27.47 ID:xt9i4Zu8.net]
- > スコープを抜けるのを待たずに
> 破棄したいみたいな状況を想定してます。 破棄するタイミングはコンパイラには分からんのだろ 人が判断するしかないなら「場当たり的」にやるしか無いのでは
- 298 名前:デフォルトの名無しさん mailto:sage [2020/01/17(金) 17:56:19.89 ID:8NRoOtOw.net]
- vector::clear()、vector::shrink_to_fit() の連続実行で十分なのでは?
- 299 名前:デフォルトの名無しさん mailto:sage [2020/01/17(金) 18:12:09.22 ID:2FWha3Nl.net]
- shrink_to_fit
capacity()をsize()に縮小させるというリクエストを行う。 実装依存の最適化を許可するために、縮小するという動作は仕様上強制されない。 縮小されないかもしれない、らしい
- 300 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 11:20:53 ID:Iw/95SDF.net]
- たいていは逆にスコープを破棄のタイミングに合わせるような書き方すればいいだろ。
分岐の激しい破棄条件書くくらいならそっちのが楽なことは多い。
- 301 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 11:59:37 ID:timcC3h8.net]
- while {
- 302 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 12:04:39 ID:timcC3h8.net]
- 途中で投稿してしまい失礼。
do { } while(0); で括って、処理が続行できない場合はbreakして、doループを抜けたすぐ下でで資源解放する古典的な記述でいいのでは。
- 303 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 12:12:16 ID:LluV6Hhd.net]
- 糞野郎にみんな親切だな
- 304 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 14:36:14.37 ID:cLOUBKze.net]
- gotoを避けるためにgotoよりクソなコードを書くのがいいわけねえだろ
- 305 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 14:54:44.30 ID:timcC3h8.net]
- ま、資源解放のコーディングが楽になるなら正義でしょ。
- 306 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 16:33:12 ID:cLOUBKze.net]
- >>298
確認するが、ここがC++スレということは忘れてないよな?
- 307 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 16:37:31 ID:sDwxplmd.net]
- メモリがもったいない言うけど、ホントにカツカツなのだろうか
環境的に余裕であれば妙なコーディングする意味がない
- 308 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 20:06:16 ID:6Wtj4R8r.net]
- どんくらいスキマと余裕があるのかを常時監視するソフトウェアはかんたんに作れる
なんせわたくしはC++を極めましたからな
- 309 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 20:37:07 ID:0qsbj5e6.net]
- >>297
gotoより糞な訳無いだろ こんな単純で頻出する制御構造が文法上ループにせざるを得ないのが悪いだけ まあtry catchと同型だが、これだと遅くなるしね
- 310 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 20:39:57 ID:cLOUBKze.net]
- >>302
doでない単純な複合文とgotoで済む話だ アホwバカwww
- 311 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 20:44:02 ID:0qsbj5e6.net]
- gotoだとRAII対応できないじゃん
- 312 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 20:44:36 ID:7kb+tsdB.net]
- すまねーよ。他の例外で飛ばされたらどうすんだ馬鹿。
- 313 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 20:46:21 ID:cLOUBKze.net]
- >>304
do(0) なんて持ち出すアホが RAII かよw
- 314 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 20:47:02 ID:0qsbj5e6.net]
- まあ最近は
[&]{ ... }(); で書くことが多いが
- 315 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 20:48:42 ID:0qsbj5e6.net]
- do{}while(0);の問題は知らない奴が混乱するって一点のみだろ
- 316 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 20:59:02 ID:cLOUBKze.net]
- 「知ってるやつ」の言い訳を、ここで開陳してもらおうか
最近、笑う健康法ができてないんで、よろしく頼むわ芸人さん
- 317 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 21:04:02 ID:0qsbj5e6.net]
- その前にgotoより糞ってのが既に成立してないじゃん
どこが糞なのか具体的に
- 318 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 21:10:26 ID:cLOUBKze.net]
- ははは、話を逸らすしかねえよな
「do{}while(0);の問題」てのが他の問題によって 成り立つのか成り立たねえのか影響されると 自ら自白してやがる(核爆 助けてやらねえよ、自分でなんとかしなアホwバカwww
- 319 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 21:15:23 ID:0qsbj5e6.net]
- 意味がわからないよ
煙に巻いて逃げる気かなw
- 320 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 21:19:10 ID:cLOUBKze.net]
- >>312
逃がさねえぞ 「知ってるやつ」の言い訳を、ここで開陳してもらおうか 最近、笑う健康法ができてないんで、よろしく頼むわ芸人さん
- 321 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 21:19:14 ID:65HS6FKB.net]
- やりたいことはスタックにあるvectorの早期解放なんだから
gotoもdo{}while(0)もラムダ式もいらない 単に{}で囲うだけでいい
- 322 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 21:20:27 ID:cLOUBKze.net]
- だよなwwwwwwwwwwww
- 323 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 21:23:34 ID:Upzp+V6z.net]
- ↓do { } while(0)でこれできたっけ?
if (cond) { goto label1; } do { 処理A label1: 処理B } while (0); YES! gotoならできる!! if (cond) { goto label1; } label2: 処理A label1: 処理B goto label2;
- 324 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 21:28:09 ID:Upzp+V6z.net]
- つか
do { 処理A; if (cond) { break; } 処理B; std::unique_ptr p(new Foo()); 処理C; // pを使用 } while (0); みたいな腐り切った腐敗臭しかしないコードを書くぐらいなら std::unique_ptr p; { 処理A; if (cond) { goto last; } 処理B; p = std::unique_ptr(new Foo()); 処理C; // pを使用 } last: ; と書くわ Perl風に
- 325 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 21:30:23 ID:v/DZPeDP.net]
- >>314
そんなことはお前ともう1名ほど除いて皆わかってる そうじゃなくて特定の条件で早期に開放したい場合にどうするかだよ >>315 味方が現れてウレションかよw
- 326 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 21:30:23 ID:cLOUBKze.net]
- ID:0qsbj5e出てこいオラ
- 327 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 21:34:58 ID:cLOUBKze.net]
- ID:0qsbj5e6 出てこい
- 328 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 21:42:46 ID:65HS6FKB.net]
- >>318
auto v = std::make_unique<std::vector<Hoge>>(...); ... if(特定条件){ v.reset(); } これだけの話では?
- 329 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 21:45:43.25 ID:cLOUBKze.net]
- そうそう
兆くだらねえ話だ(わざと誤字
- 330 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 21:47:11.24 ID:cLOUBKze.net]
- goto過敏症のアホどもが少しでも目を醒ましてくれるといいな
- 331 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 21:49:54.58 ID:v/DZPeDP.net]
- >>273
から読み直して 空moveが確実だけど質問者がそれを場当たり的と生意気言ったことから話が盛り上がるw
- 332 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 21:51:28.17 ID:v/DZPeDP.net]
- >>323
この場合gotoは何の解にもなっていないことにそろそろ気づいた方がいいよ
- 333 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 21:53:26.94 ID:v/DZPeDP.net]
- >>321
>>324 を読んでね
- 334 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 21:59:36.19 ID:0qsbj5e6.net]
- RAII対応してないから無理矢理goto出来るようにした糞コード上げられてもああ糞ですねと言うしかないんだが。
内部が複雑になってきたらその度にブロック外に変数追加して、変数の内容の初期化は必要に応じてって書き方を続けるつもりなんかね
- 335 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 22:27:52 ID:cLOUBKze.net]
- >>325
gotoが何かの解になったらいいの?wwwwwwww
- 336 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 22:28:06 ID:4nVoSga0.net]
- >>304
そうなんだっけ?
- 337 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 00:26:12.30 ID:M/ehGL7C.net]
- やっぱこういうコードは一度書いてみたいよな
try { label: 何かの処理; } catch (Exception ex) { goto label; }
- 338 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 00:32:09.37 ID:M/ehGL7C.net]
- gotoを使うと糞、と言う香具師は多いが
goto以外の構文も大概なことがある ↓これとか EnterCriticalSection(&csec); { if (エラー条件成立) { LeaveCriticalSection(&csec); throw "*** ERR ***"; } 何かの処理; } LeaveCriticalSection(&csec); 一体どうすれば…orz
- 339 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 00:36:14.30 ID:M/ehGL7C.net]
- いやまあテストラクトされるときにLeaveCriticalSection()するような
AutoLockオブジェクトを使えば済むっていやー済むが 裏返せばgoto以外の構文も糞製造機であることにはかわりわない!
- 340 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 00:38:55.96 ID:ocqIlbpk.net]
- それは構文が糞なんじゃなくてリソース管理が糞なだけ
- 341 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 01:24:22.15 ID:PgEzQeWd.net]
- auto lockなんてむしろ使ってなかったらPRでリジェクトされる
- 342 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 06:28:34 ID:6oeBvQPN.net]
- gotoの何が悪いのかを端的に表すたった一言が出てこない教条主義は物笑いの種
- 343 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 07:19:17.26 ID:M/ehGL7C.net]
- 誰にも迷惑がかからないgotoの例:
for (a = 0; a < 2; a++) { for (b = 0; b < 2; b++) { for (c = 0; c < 2; c++) { .... for (zaaa = 0; zaaa < 2; zaaa++) { 処理A if (何かの条件) { goto last; } 処理B } ... } } } last: ;
- 344 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 07:24:20.07 ID:M/ehGL7C.net]
- >>334
たまたまLeaveCriticalSection()はエラーを返さないが エラーを生じるブツだったらどうすんじゃ まあエラー通知先があれば良いのでやりようはあるが 加速度的に手が込んだコードが必要になって全体が糞化していくんじゃ!
- 345 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 07:35:30.18 ID:ilIPQsua.net]
- そもそもそのgotoを書きたくなるくらい深くネストしている時点でよくない説
- 346 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 08:03:07 ID:Wel1D6/w.net]
- >>338
対象とするデータによっては単純に多重ループで処理するのがもっとも自然でシンプルなケースもあるだろう。 無条件に「ネストしたループ(・A・)イクナイ!!」と言うのも教条主義じゃね?
- 347 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 08:05:11 ID:6oeBvQPN.net]
- 教条主義というよりただのバカ
- 348 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 08:08:17 ID:D5W6f6uH.net]
- gotoの使い方くらい知っておいた方が良いかと
- 349 名前:デフォルトの名無しさん [2020/01/19(日) 08:51:50 ID:2MN/c8bt.net]
- gotoにせよthrowにせよ、goto/throwの発生元が分からないのが受身になる側として辛い。
この点は、スタック情報へのアクセスが言語仕様として認められているJava/C#/Perl/Pythonに優位がある。
- 350 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 08:54:43 ID:M/ehGL7C.net]
- throwの発生元は例外オブジェクトに情報を持たせれば良いじゃん?
gotoのジャンプ元は変数に情報を持たせれば良いじゃん??
- 351 名前:デフォルトの名無しさん [2020/01/19(日) 09:02:38 ID:2MN/c8bt.net]
- >>343
goto/throw発生元がバイナリで配布されている場合は、コードを書き換えられない。 クラス設計でやたらとメンバ変数をprivateにされると、クラスを利用する側はメンバ変数を古典的プリントデバッグできなくて難儀する。
- 352 名前:デフォルトの名無しさん [2020/01/19(日) 09:04:12 ID:2MN/c8bt.net]
- C++のprivate属性は厳しすぎ。readonlyアクセスできる属性があってもいいと思うんだ。
- 353 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 09:11:24 ID:M/ehGL7C.net]
- >>344
バイナリ配布のブツの例外発生元を何でコードで知りたいのかがわからん… アドレスがわかったところでソースが無いわけやし…… 何事かを言わんとするための想定に無理が有るのでは…
- 354 名前:デフォルトの名無しさん [2020/01/19(日) 09:12:59 ID:2MN/c8bt.net]
- タイミング依存の不具合を追跡する必要に迫られると、当然ながら対話デバッグはできない。
C++のprivate変数が不具合に関与しているとわかってもランタイムで値を見れないのは辛い。 他人様の作ったC++クラスヘッダーを一時的に書き換えてコンパイルする羽目に。
- 355 名前:デフォルトの名無しさん [2020/01/19(日) 09:17:35 ID:2MN/c8bt.net]
- >>346
例外が吐かれた後にできることなんてほとんどなくてもスタックをダンプできるだけでかなり助かる。 特に自分が作ったわけではないレイヤーでthrowされた時には、スタック情報が役立つ。
- 356 名前:デフォルトの名無しさん [2020/01/19(日) 09:20:25 ID:2MN/c8bt.net]
- 公式がデバッグシンボルを配布するご時世なのに、C++のスタック仕様はそれについていけていない。
デバッガを介することなくスタックをダンプできる手段が制約されすぎ。
- 357 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 10:49:09 ID:CSTVsvTH.net]
- gotoはRAIIと相性が悪いってのが端的だろ
これはgotoが悪いと言うよりc++の言語仕様上のgotoの扱いが悪いって話 constexprで使えないとか規格が新しくなる度に不都合が増えていくよ
- 358 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 10:57:40 ID:RfLx+x9F.net]
- gotoの使い方くらい知っておいた方が良いかと
- 359 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 11:07:08.87 ID:fzpRtoDi.net]
- >>350
相性悪い?
- 360 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 11:07:41.05 ID:CSTVsvTH.net]
- 文字列パーサー内とかでの状態遷移に使うは推奨する
その他でのgotoは代替手段があるし、そっちの方が言語サポート良いからgoto使うのはバカのやること
- 361 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 11:12:09.60 ID:CSTVsvTH.net]
- まあ不遇な原因はgotoが自由すぎて前にも後ろにも飛べるせいだろうね
変数のデストラクタを呼ぶべきかどうかフラグ管理でもしないとコンパイラが判断できなくなる。 goto使うならその自由さが必要な場面でこそ使うべきなんだよ
- 362 名前:デフォルトの名無しさん [2020/01/19(日) 11:18:58.21 ID:2MN/c8bt.net]
- >>354
プログラミング言語の世界では、前や後ろという表現は直観的にわかりにくい。 前や後ろは相対的なものであり、バックしているイテレータにとっては前はバックなのだ。 上と下なら直観的にわかるだろう。
- 363 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 11:21:16.66 ID:CSTVsvTH.net]
- 用語としては前後で統一されているような
- 364 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 11:22:22.50 ID:RfLx+x9F.net]
- gotoの使い方を知らない初心者がこのスレにいるってのが不思議
- 365 名前:デフォルトの名無しさん [2020/01/19(日) 11:27:05.68 ID:2MN/c8bt.net]
- [コラム] 正規表現の先読み/後読みは、どう考えても名前が悪いので、呼称禁止令を出してルックと気軽に呼んでみませんか。 - Qiita
https://qiita.com/mochizukikotaro/items/84f3ab2740b8efbe0dc6
- 366 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 11:29:47.11 ID:6oeBvQPN.net]
- >>357
誤魔化さない説明が
- 367 名前:ちゃんとできるやつがずいぶん少ないという、残念な状況が今の日本だ []
- [ここ壊れてます]
- 368 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 11:38:04.97 ID:RfLx+x9F.net]
- わざわざ複雑にしてまでgotoを避ける
って宗教だよな 使いどころで使う それだけ
- 369 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 11:42:59.02 ID:ZzFAG3/g.net]
- いうて必要になったことないや
- 370 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 12:30:11.44 ID:L2mlhsAt.net]
- 別にgoto使っても使わなくても馬鹿が書けば複雑なコードになるだろ。
そういう問題じゃない。 そもそもc++の標準ライブラリが例外投げる時点でgotoとの相性は最悪だよ。 一番末端の関数で、副作用もないようなもの以外使えんわ。
- 371 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 12:36:07.26 ID:PgEzQeWd.net]
- gotoおじさんはたぶん例外安全性という概念をわかってない
- 372 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 14:43:36 ID:6jfPBIzz.net]
- >>363
例外安全の定義が難しいのですが、gotoを使っても例外安全を保障することはできると思うのですが、いかがでしょうか。
- 373 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 15:06:56.67 ID:PgEzQeWd.net]
- >>364
c++の標準ライブラリに関して例外安全とは何かは定義されてる できるできないで言えばgotoかつ例外安全はそりゃできるでしょうよ まずgoto関係なしに例外安全が相当大変であることを理解してから出直してくれ そうじゃなきゃRAII、autoなんとかmakeなんとかの有難みも理解できてないのよ
- 374 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 15:08:40.81 ID:RfLx+x9F.net]
- 話題のすり替え
- 375 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 15:16:49.04 ID:PgEzQeWd.net]
- >>366
話題を勘違いしてるのはお前だよ お前は単にbreakでスコープの脱出することに対してgotoの方が簡潔と言ってるんだろう そういう場合があるのは同意するけど今回の話題はそれじゃない スコープの脱出になってるのはRAIIでリソースを安全に開放する前提だからだ だからお前が言うべきはスコープをなくしてgotoを使うというなら 合わせてリソースをどのように安全に開放するかを説明しないといけない 場当たり的でない方法でね そこをまったく説明できない以上お前はgotoおじさんと呼ばれ続ける
- 376 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 15:20:52.99 ID:fzpRtoDi.net]
- >スコープをなくしてgotoを使う
なんか言ってることが変だと思ったらこんな条件付けてたのか。ブロックスコープ使えばいいじゃん。
- 377 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 15:26:55.90 ID:RfLx+x9F.net]
- スコープを無くしてgotoで解放?
なんじゃそりゃ? スコープを抜けないと解放されないぞ
- 378 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 15:27:43.53 ID:PgEzQeWd.net]
- 断わっておくけど
>>295 に対してgotoおじさんが >>297 と言ったのが発端 後出しはしていない ちなみに295を書いたのはおれではない
- 379 名前:295 [2020/01/19(日) 15:31:10.41 ID:2MN/c8bt.net]
- どんな劣悪な環境でも動く do{ } while(0); こそ絶対正義。
- 380 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 15:33:51.15 ID:RfLx+x9F.net]
- >>295は
do ループを抜けたすぐ下で資源を解放 って書いてあるように見えるけど
- 381 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 15:34:25.99 ID:RfLx+x9F.net]
- >>370の勘違いってことでいいのかな?
- 382 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 15:42:01 ID:PgEzQeWd.net]
- >>372
ああ確かに >>295 に対してってのは語弊があったかな ID:cLOUBKze の発言を追ってみて >>303 とかね gotoおじさんかと思ったら別人なのね
- 383 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 17:03:31 ID:6jfPBIzz.net]
- >>365
本来の「例外安全」の定義はもっと広い意味なのですが、あなたは、throwやcatchなどの「例外」が起きたときでもnewされたオブジェクトの削除などを行うという定義を採用されているようです。 break文を用いずにgoto文でブロックを脱出した場合でもオブジェクトは自動解放されるのをご存知ですか?
- 384 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 17:07:28 ID:PgEzQeWd.net]
- >>375
自分は理解しているって言いたいわけね じゃあさ >>273 のお題に対してgotoを使ったエレガントな方法を書いて おれは思いつかないね よろしく
- 385 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 17:11:06.93 ID:4SQs66uE.net]
- そもそも一番のカスはこいつ >>276 >>286
- 386 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 17:42:21 ID:fzpRtoDi.net]
- >>370
>>295に対して>>303が {
- 387 名前: goto label;
} label: でいいんじゃないかってことかと。 逆にどう解釈してRAIIとか例外安全とか持ち出したのか気になる。 [] - [ここ壊れてます]
- 388 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 18:24:30 ID:6oeBvQPN.net]
- 論点を増やそうとするのは苦しいやつの習性だね
- 389 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 18:46:40 ID:PgEzQeWd.net]
- >>378
それだとdo-whileと変わんないだろ gotoおじさんの論点てそれか? 人の事クソバカ言ってるわりに何の優位性があるのかわからんな
- 390 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 18:52:29 ID:6oeBvQPN.net]
- そうだよ、変わんないよ
複合文だけでできることになんでわざわざdoなんて面倒くせえもん使わなきゃいけねえんだよ
- 391 名前:デフォルトの名無しさん [2020/01/19(日) 18:52:32 ID:PM2cmccN.net]
- Rust使えばすべて解決。
- 392 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 18:53:23 ID:6oeBvQPN.net]
- まさかとは思うがブレースを開くのにdoだかforだか何らかのキーワードが必要とでも思ってたか?
- 393 名前:デフォルトの名無しさん [2020/01/19(日) 18:56:46 ID:PM2cmccN.net]
- 俺は何の実績もないおまえの言うことより、あわしろいくや氏を信じるけどな。
- 394 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 18:57:26 ID:yjllCGTd.net]
- >>378
噂のgotoおじさまもさすがにこのコードがいいなんて言わないでしょ
- 395 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 18:59:17 ID:6oeBvQPN.net]
- >>384
ブレースを開くのにキーワードが必要か否かに実績は関係ない 他人のネームバリューにすがるしかなくなったか?
- 396 名前:デフォルトの名無しさん [2020/01/19(日) 19:00:40 ID:PM2cmccN.net]
- >>386
ネームバリューは関係ないんだよ。 あわしろいくや氏は信用できる。 おまえは信用できない。
- 397 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 19:01:36 ID:4SQs66uE.net]
- >>387
俺はお前のあわしろいくや氏は信用できるという言葉が信用できない
|

|