[過去ログ]
C++相談室 part165 (1002レス)
C++相談室 part165 http://mevius.5ch.net/test/read.cgi/tech/1698705458/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
286: デフォルトの名無しさん (ワッチョイ ffe0-UH2C) [sage] 2024/02/18(日) 09:00:09.02 ID:c1Urupub0 >>269 そのあたりの難しさを考えると、例外廃止してoptionalに統一したほうがいいかもな。 少なくとも例外みたいに変なフローで飛んで来ないし。 http://mevius.5ch.net/test/read.cgi/tech/1698705458/286
287: デフォルトの名無しさん (ワッチョイ e3f9-NGC7) [sage] 2024/02/18(日) 09:39:44.00 ID:9f8IS57r0 ぶっちゃけ>>283がなに言ってるのかわからない 継続してそれが原因で? いやいやw 突如落ちるより、保存できるデータは保存してもらう機会を与えることは出来るだろ なんでお前は何事もなかったかのように作業を続ける前提でしか話を聞かないんだ? オブジェクトの状態が変わっているかも? 変更前のデータと比較して変わっていたらユーザに確認すればいいだろ 例えば図形情報のうちTopの読み込みで例外が発生した場合に想定してないからとアプリ落として全情報ロストさせる気か? Topは0で初期化させ読み込めなかったことをユーザに伝えて修正、もしくは再読み込みの機会を与えるだけの話だろ http://mevius.5ch.net/test/read.cgi/tech/1698705458/287
288: デフォルトの名無しさん (ワッチョイ cfcf-sYtR) [sage] 2024/02/18(日) 09:41:50.12 ID:WHoJTRhT0 >>285 >例外の種類しか頭にないのか >>283が仕様に明示されていない例外を話題にしているからだが。 >任意の場所での例外発生に対応するなん現実的にできないということ これはどういう意味なんだろうな。 着目するのは自分が呼び出している処理から上がってくる例外に対して例外安全かどうかであって それは基本的に局所的に判断できるもの。 下層の、例外が通過してきた処理が例外安全な実装になっているかどうかってのはそっちの責務。 http://mevius.5ch.net/test/read.cgi/tech/1698705458/288
289: デフォルトの名無しさん (ワッチョイ e3f9-NGC7) [sage] 2024/02/18(日) 12:27:32.99 ID:9f8IS57r0 > これはどういう意味なんだろうな。 そうそれ tryブロックで囲った部分(つまり任意)の例外発生に対応するのが例外処理なのになにが出来ないというのか 想定している例外が発生して継続できると判断したなら続ければいいし ダメならユーザに通知してもちょも安全な方法を選択させればいい でもってそれは想定していない例外の発生でも同じ ただ致命的でどうしようもないなら強制終了させるだけの話で、想定していない例外はなんでもかんでも強制終了じゃ例外処理使う意味が薄まってしまう http://mevius.5ch.net/test/read.cgi/tech/1698705458/289
290: デフォルトの名無しさん (ワッチョイ e3f9-NGC7) [sage] 2024/02/18(日) 12:28:39.34 ID:9f8IS57r0 もちょも は もっとも の まちがい http://mevius.5ch.net/test/read.cgi/tech/1698705458/290
291: デフォルトの名無しさん (ワッチョイ 6f5b-ERL4) [sage] 2024/02/18(日) 13:22:22.19 ID:JX7gxI3D0 >>287 ファイル保存するなとか言ってない それぐらい終了処理のひとつだろ ログファイルもシグナルトラップして必ずフラッシュさせるのが常套手段だろ 意味不明な例外が発生しました データが破損してないかあなたが確認してください 動作無保証ですが処理継続しますか?yes/no こんなUIだすやつセンスの欠片もない http://mevius.5ch.net/test/read.cgi/tech/1698705458/291
292: デフォルトの名無しさん (ワッチョイ e304-hmqi) [] 2024/02/18(日) 14:01:41.78 ID:6Yt/CDIt0 私が20代の頃に見かけた論争が今も繰り返されてるのかわいい🩷 http://mevius.5ch.net/test/read.cgi/tech/1698705458/292
293: デフォルトの名無しさん (ワッチョイ ffad-mJpf) [sage] 2024/02/18(日) 15:55:07.22 ID:1iQutSwY0 >>291 それを思いついたお前のセンスがないと言うことになるが… 俺は確認しろと言っただけだし確認には様々な方法がある http://mevius.5ch.net/test/read.cgi/tech/1698705458/293
294: デフォルトの名無しさん (ワッチョイ cfcf-sYtR) [sage] 2024/02/18(日) 16:26:47.97 ID:WHoJTRhT0 >>291 まさか、何も言わずにいきなり落とす方が良いとか言うわけじゃあるまい。 http://mevius.5ch.net/test/read.cgi/tech/1698705458/294
295: デフォルトの名無しさん (スッップ Sd1f-p9fr) [sage] 2024/02/18(日) 17:54:38.27 ID:L2mk1x1ad >>289 もちょカワイイよね http://mevius.5ch.net/test/read.cgi/tech/1698705458/295
296: デフォルトの名無しさん (ワッチョイ bf9a-/DPD) [sage] 2024/02/18(日) 18:17:37.55 ID:LeQ06zof0 >>280 実生活のあれと似てますよね。「引っ越すことになりました。新住所はXXです」と早めに 連絡したら、気の早い知人がそこに押しかけてきて「なんやまだ引越しとらんやんけ」となる やはり引越し作業完了を待ってからの方がいいのか。ってちがうか http://mevius.5ch.net/test/read.cgi/tech/1698705458/296
297: デフォルトの名無しさん (ワッチョイ 1b63-9XlH) [sage] 2024/03/02(土) 23:41:07.84 ID:C77pR/Zl0 >>282 >相変わらずずれてるな。 catch する == 原因を調査しない じゃないわけ >249に賛同いただけていないということは、発生してもいない例外について予防的にtry { } catch () を入れようとしていることは 確定的に明らか で、例外というブツは「例外なく」悪い知らせなので(∵仮に良い知らせを例外で寄越すライブラリがあったらそれ自体悪い知らせである 普通の人は悪い知らせが来る前に処置しようとする。すわなち例外が来ないように(可能な限り)修正する。 try { } catch ( ) でひっかけて原因調査兼確実な修正でざい、それが一番効率が良い方法論である、などと主張するのはおかしい人だけ…… http://mevius.5ch.net/test/read.cgi/tech/1698705458/297
298: デフォルトの名無しさん (ワッチョイ 1b63-9XlH) [sage] 2024/03/02(土) 23:49:37.41 ID:C77pR/Zl0 >>284 例外安全というもののスコープに対して考察が足りていない 1. 例外安全なオブジェクト foo のデストラクトが他の例外によって引き起こされるケースでは foo の安全な終了は(メモリかファイルステムか何かが物理的にぶち壊れてOSがパニックになったとかでない限り ほぼほぼ保たれるから>>284のような言い方はできるっていやーできるが、 システム全体については>>283の通りであって全然安全ではない 2. fooの中の例外処理が本当に完璧かはfooのコードに書かれている全てのtry { } catch () について 全ての例外発生条件についてテストか厳格めのコードレビューでも行わないことには安全性が担保されない。 (つまり例外安全にした実装したと主張するだけでは話がただちには簡単にはならない http://mevius.5ch.net/test/read.cgi/tech/1698705458/298
299: デフォルトの名無しさん (ワッチョイ 1b63-9XlH) [sage] 2024/03/02(土) 23:57:46.67 ID:C77pR/Zl0 それはそうとして、予防的なtry{ } catch () の何が一番駄目かというと、設計上のトレードオフをわけわかんなくすることが確実な点 例外発生後の状況というのはたいてい>>283の通りのわけなので、何かを捨てて何かを取る (例えばシステムは最悪落ちても構わないが、例外安全なオブジェクトfooでリソースAの整合性は死守する等) のトレードオフが発生するがそういうのこそ慎重な設計と考慮が必要な事項であることは確定的にあきらか プログラムの全階層にtry { } catch ()入れたら完璧などというアフォはやっぱtry { } catch () しないのが正しい http://mevius.5ch.net/test/read.cgi/tech/1698705458/299
300: デフォルトの名無しさん (ワッチョイ 0fcf-0WZ8) [sage] 2024/03/03(日) 21:57:15.41 ID:735dldsp0 >>298 自分が呼び出す関数が例外安全にできているかどうかと自分の処理が例外安全かどうかをごっちゃにしてるだろ。 しかも、呼び出す関数からドキュメント化されていない想定外の例外が発生するなら例外安全に作られていないだろうという 変な決めつけが混じってる。 例外安全なコードは例外の種類に依存しない。知ってる冷害に対しては安全だけど知らない例外が飛んできたら安全じゃない なんてのはそもそも例外安全とは言わない。 http://mevius.5ch.net/test/read.cgi/tech/1698705458/300
301: デフォルトの名無しさん (ワッチョイ ef0a-qSkN) [sage] 2024/03/03(日) 22:08:48.84 ID:qMaLplcd0 >>300 お前さ、すべてのnoexcept関数呼び出しの例外テスト書いてんのか? それが出来もしない理想論だって言ってんの http://mevius.5ch.net/test/read.cgi/tech/1698705458/301
302: デフォルトの名無しさん (ワッチョイ 3b7c-85wQ) [sage] 2024/03/03(日) 22:31:19.01 ID:GdJ/jhkt0 >>301 自分でnoexcept指定した関数のことなら投げないことを確認するテストくらい書けよ当たり前だろ http://mevius.5ch.net/test/read.cgi/tech/1698705458/302
303: デフォルトの名無しさん (ワッチョイ 0fcf-0WZ8) [sage] 2024/03/04(月) 00:08:35.31 ID:gWJ01aQ50 >お前さ、すべてのnoexcept関数呼び出しの例外テスト書いてんのか? 悪魔の証明をテストすんのか http://mevius.5ch.net/test/read.cgi/tech/1698705458/303
304: デフォルトの名無しさん (ワッチョイ ef0a-qSkN) [sage] 2024/03/04(月) 07:57:02.63 ID:D3yk9beu0 >>302 100%自分で書いてるコードなら未知の例外なんて起こらんだろ 話の筋理解してからレスつけろや三流 http://mevius.5ch.net/test/read.cgi/tech/1698705458/304
305: デフォルトの名無しさん (ワッチョイ 8b63-eOBD) [sage] 2024/03/04(月) 07:58:21.27 ID:KYG2Ugpe0 なんか予想外に低レなレスポンスを寄越した>>299…… さすがに>>283の後に>>284のような楽天的なことを言えるだけのことはあるということか…… 例外安全は確かに目指すべき境地であり、例外安全なオブジェクトだけでコードを書けば その関数は例外安全となる。try { } catch ()など一切不要、となるわけで一見実現が簡単に思える が、例外安全なオブジェクトだけかをもれなく機械的に確認する方法は無い上に、 中断したら別物になる(処理の順序が命)というアルゴリズムというものの本質的特性により、 >>183 のような try { } catch () が必要なケースは隙あらば混ざり込んでくるから(※1) >>284が空想するようなシステム全体の例外安全化などは現実には不可能。 せいぜいある程度の規模のオブジェクトであれば、十分テストすれば (自分が呼び出す関数が例外安全にできているかどうかと自分の処理が例外安全かどうかを慎重に確認せねばならない) ほぼほぼの信頼度で実現できるというぐらい。 http://mevius.5ch.net/test/read.cgi/tech/1698705458/305
306: デフォルトの名無しさん (ワッチョイ 8b63-eOBD) [sage] 2024/03/04(月) 07:59:55.02 ID:KYG2Ugpe0 (※1) >>183 の関数そのものは、例外安全なスレッドオブジェクトでも使ったらtry { } catch () 無しの例外安全な関数うに書き直すことはできうる http://mevius.5ch.net/test/read.cgi/tech/1698705458/306
307: デフォルトの名無しさん (ワッチョイ 8b63-eOBD) [sage] 2024/03/04(月) 08:09:49.95 ID:KYG2Ugpe0 あと寝てて思ったがプロセスが死んでもサービスが継続したらお客様には迷惑を掛けずに済むので (直接そういうのをやってちるわけではないので強くは言わんが ウォッチドッグタイマー的な死活監視で異常あらばプロセス再起動とかマシンを切り替えるとか方法はいくつもあって、 十分テストされたプログラムならクラッシュ頻度をポアソン分布とみなして信頼度も出せる やっぱ「お客様の前で落ちたら恥ずかしいから」というつまらないプライドを基本的動機とする try { .... } catch (std::exception& e) { log_e("std::exceptionがスローされました"); }; みたいなコードをリリースコードに含めましょうという>>282の調査のスタンスは全く正当化されない 100日に一回しか再現しないバグの修正を3日でやれと言われて手元にあるのがメモリダンプの代わりに上の23文字のログメッセージだけだったりしたら >>282は自○が真剣に考慮すべき選択肢に…… http://mevius.5ch.net/test/read.cgi/tech/1698705458/307
308: デフォルトの名無しさん (ワッチョイ 9fad-ZLJX) [sage] 2024/03/04(月) 08:50:22.67 ID:MzjtGtOW0 > なんか予想外に低レなレスポンスを寄越した>>299…… 299はお前自身じゃないのか、と俺は思う http://mevius.5ch.net/test/read.cgi/tech/1698705458/308
309: デフォルトの名無しさん (ワッチョイ 0fcf-0WZ8) [sage] 2024/03/04(月) 08:53:34.53 ID:gWJ01aQ50 >例外安全は確かに目指すべき境地であり、例外安全なオブジェクトだけでコードを書けば >その関数は例外安全となる。try { } catch ()など一切不要、となるわけで一見実現が簡単に思える 例外安全だからといってcatchが不要になるわけないだろ。 根本的なところで勘違いしてるから頓珍漢が主張を続けてるわけだな。 http://mevius.5ch.net/test/read.cgi/tech/1698705458/309
310: デフォルトの名無しさん (ワッチョイ abe4-XE6S) [] 2024/03/04(月) 10:20:12.57 ID:QvxlWFfk0 例外安全には基本保証・強い保証・no-fail保証がある 例外がスローされない関数を作ればno-fail保証がある 基本保証や強い保証は例外発生後も不整合が発生しないもの たとえば例外が発生した関数をもう一度呼び出すと「すでに実行中です」とエラーを返すようなものは例外安全ではない(おそらく実行中フラグ変数が立ったままになっている) http://mevius.5ch.net/test/read.cgi/tech/1698705458/310
311: デフォルトの名無しさん (ワッチョイ abe4-XE6S) [] 2024/03/04(月) 10:23:14.03 ID:QvxlWFfk0 10行のデータをファイルに出力するとき、例外が発生して5行だけデータが出力されてしまうのは強い保証があるとはいえない 例外が発生した際にデータを書き込む前のファイル状態に戻れば強い保証がある(例外安全である)といえる http://mevius.5ch.net/test/read.cgi/tech/1698705458/311
312: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 3b32-hL5K) [sage] 2024/03/04(月) 12:10:26.04 ID:ASLjljy+0 誤解のないように念のため補足。 この場合の「強い」という用語は性質の分類であって強いことがより良いというわけではないという話をしてる。(んだよね?) 例外を出さずに済むならそれに越したことはないよ。 でも、ひとつの部品の中では問題を解決できないことがあるからこそ例外を用いて他の部品と連携しての解決を試みるわけ。 連携するには保証の強力さよりも保証範囲の明瞭さ (明瞭でもカバーしようがない設計はあかんが) が大事で、プログラム全体で整合性が保たれていれば例外安全と言える。 仕様が不明瞭なライブラリもあるのが現実だってのはそりゃそうだけど、出来が悪い部品とつじつま合わせをしきらないってのは例外のせいでも C++ のせいでもない。 http://mevius.5ch.net/test/read.cgi/tech/1698705458/312
313: デフォルトの名無しさん (ワッチョイ f7f0-B2uz) [sage] 2024/04/08(月) 15:38:53.52 ID:IvxniXPw0 std::initializer_listについて質問です 下の例ですがコンストラクタの引数に配列リテラルを指定した場合、リストがコピーされてしまいますよね? これは無駄なので回避したいのですが良い方法はありますか? https://cpprefjp.github.io/reference/initializer_list/initializer_list.html http://mevius.5ch.net/test/read.cgi/tech/1698705458/313
314: デフォルトの名無しさん (ワッチョイ df01-g9Lk) [sage] 2024/04/09(火) 12:13:11.96 ID:gepNgOiE0 どこのコピー? http://mevius.5ch.net/test/read.cgi/tech/1698705458/314
315: デフォルトの名無しさん (ブーイモ MM3e-Nnmc) [sage] 2024/04/09(火) 12:52:21.68 ID:80QuF/MqM リテラルのコピーを気にするならconstexprじゃねーの? ほんとにコンパイル時に定数になるかは知らんけど http://mevius.5ch.net/test/read.cgi/tech/1698705458/315
316: デフォルトの名無しさん (ワッチョイ 7b32-B3tP) [sage] 2024/04/09(火) 15:22:07.81 ID:hsAXyuRl0 >>313 C++ に配列リテラルはない。 その書き方で出てくる波括弧はリスト初期化の構文の一部で、 波括弧の部分単体は配列リテラルではない。 実行時にオブジェクトの構築を避けるならコンパイル時に構築することになるが それはそれで色々と制約があるんでほんまにそれが必要なんか? というのはよく考えないといけない。 あえてやるならこんな感じかな……。 https://wandbox.org/permlink/HStrLq8ddyC3tby2 http://mevius.5ch.net/test/read.cgi/tech/1698705458/316
317: デフォルトの名無しさん (ワッチョイ c3c9-hAMa) [sage] 2024/04/09(火) 20:10:25.18 ID:T/amOWJO0 とあるtemplateの関数を実装しているのですが、 const指定の振る舞いがよくわからなくなったので 質問させてください。 以下の(だいぶ簡略化した)コードで、 f_without_const<const int*>(const int* a) はコンパイルが通るのですが f_with_const<int*>(const int* a) がコンパイルが通らないのは何故でしょうか。 https://wandbox.org/permlink/OIgKM2DTqvpGduRV http://mevius.5ch.net/test/read.cgi/tech/1698705458/317
318: デフォルトの名無しさん (ワッチョイ f7f0-B2uz) [sage] 2024/04/09(火) 20:30:45.76 ID:lDhzon+/0 >>316 なるほど ここまでやるメリットはなさそうなので大人しくデフォルトの書き方にしておきます http://mevius.5ch.net/test/read.cgi/tech/1698705458/318
319: デフォルトの名無しさん (ワッチョイ 2790-Bmwq) [sage] 2024/04/09(火) 21:45:08.71 ID:+RmfoJzl0 >>317 templateは型が違うと全くの別物として処理するからだと思う http://mevius.5ch.net/test/read.cgi/tech/1698705458/319
320: デフォルトの名無しさん (ワッチョイ 7b10-qE2a) [sage] 2024/04/09(火) 22:00:45.26 ID:5hAg3cgl0 >>317 template <class T> void f_with_const (const T t); これに対応させるなら f_with_const<int*>(int *const a) http://mevius.5ch.net/test/read.cgi/tech/1698705458/320
321: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-B3tP) [sage] 2024/04/10(水) 08:39:45.44 ID:Fk7YBwaR0 const T t に対して const int* a が来たら 字句の順序としては T に int* が対応してるように見えちゃうもんな……。 http://mevius.5ch.net/test/read.cgi/tech/1698705458/321
322: デフォルトの名無しさん (ワッチョイ c37a-hAMa) [sage] 2024/04/11(木) 21:42:31.84 ID:0cjrPM+u0 317です、返信遅くなってすみません 確かに言われてみればconstが修飾してるのはint*なので、意味的にint *constが正しいですね… ありがとうございました http://mevius.5ch.net/test/read.cgi/tech/1698705458/322
323: デフォルトの名無しさん (ワッチョイ b77c-0iQt) [sage] 2024/04/14(日) 14:49:11.63 ID:tTNkn9kB0 先月東京で標準化委員会の会議あったらしいけどなんか情報ないの? http://mevius.5ch.net/test/read.cgi/tech/1698705458/323
324: デフォルトの名無しさん (ワッチョイ ff33-m4LK) [sage] 2024/04/14(日) 15:03:51.38 ID:H7y3imqp0 あるよ。 https://github.com/cplusplus/papers/issues?q=sort%3Aupdated-desc http://mevius.5ch.net/test/read.cgi/tech/1698705458/324
325: デフォルトの名無しさん (ワッチョイ 7f52-9wFU) [sage] 2024/04/16(火) 00:50:18.09 ID:38VQ+8UT0 >>323 https://www.reddit.com/r/cpp/comments/1bloatw/202403_tokyo_iso_c_committee_trip_report_third/ http://mevius.5ch.net/test/read.cgi/tech/1698705458/325
326: デフォルトの名無しさん (ワッチョイ 67b1-Jq5A) [] 2024/05/01(水) 21:36:46.68 ID:/DCu7vsT0 python みたいに何でも格納できる辞書型ってC++には無いよね? http://mevius.5ch.net/test/read.cgi/tech/1698705458/326
327: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 8732-nVjz) [sage] 2024/05/01(水) 22:29:05.62 ID:IV4TsWNk0 >>326 要素を std::any にすればだいたいどんな型の値でも入れられる。 いろんな型を入れたところで使うときには元の型として取り出さないといけないから 処理は煩雑になってあまり良いことはないけど。 http://mevius.5ch.net/test/read.cgi/tech/1698705458/327
328: デフォルトの名無しさん (ワッチョイ 8f7c-Y/5H) [sage] 2024/05/09(木) 20:23:09.67 ID:MzADiHDk0 https://cpprefjp.github.io/lang/cpp23/add_support_for_preprocessing_directives_elifdef_and_elifndef.html #elifって今まで非標準だったのかよ… http://mevius.5ch.net/test/read.cgi/tech/1698705458/328
329: デフォルトの名無しさん (ワッチョイ bed6-w0ma) [sage] 2024/05/09(木) 21:19:14.71 ID:M6C6+6vz0 何いってんだ http://mevius.5ch.net/test/read.cgi/tech/1698705458/329
330: デフォルトの名無しさん (ワッチョイ bbda-JG92) [sage] 2024/05/10(金) 11:53:06.45 ID:P+BretyD0 #elifは大昔からあるぞ http://mevius.5ch.net/test/read.cgi/tech/1698705458/330
331: デフォルトの名無しさん (ワッチョイ 8f7c-Y/5H) [sage] 2024/05/11(土) 09:12:25.64 ID:YR9R4Y390 cpprefjpが間違ってるだけ? それともずっと規格から欠落してたけど誰も気付いてなかったパターン? http://mevius.5ch.net/test/read.cgi/tech/1698705458/331
332: デフォルトの名無しさん (ワッチョイ bed6-w0ma) [sage] 2024/05/11(土) 11:19:25.57 ID:PrWZroBw0 規格が読めないならC++やめろ http://mevius.5ch.net/test/read.cgi/tech/1698705458/332
333: デフォルトの名無しさん (ワッチョイ 0b63-IWIS) [sage] 2024/05/11(土) 19:02:18.20 ID:RotYKdRC0 elifを逆から読んだらfile ラリーはこれを嫌ってPerlではelsifにした(適当 http://mevius.5ch.net/test/read.cgi/tech/1698705458/333
334: デフォルトの名無しさん (ワッチョイ bbda-JG92) [sage] 2024/05/11(土) 22:20:47.67 ID:HBPowvO20 シェルが変だからな case ~ esac if ~ fi http://mevius.5ch.net/test/read.cgi/tech/1698705458/334
335: 警備員[Lv.23] (ワッチョイ 1563-WQ8n) [sage] 2024/06/06(木) 07:08:30.09 ID:Glzej5210 てst http://mevius.5ch.net/test/read.cgi/tech/1698705458/335
336: 警備員[Lv.23] (ワッチョイ 1563-WQ8n) [sage] 2024/06/06(木) 07:55:41.85 ID:Glzej5210 質問なのですが Q1. std::fstreamでファイルを開くときのフラグの指定の仕方は次のどれが正義? std::fstream ofs("foo.txt", std::ios::out | std::ios::binary); // (1) std::fstream ofs("foo.txt", std::basic_ios::out | std::basic_ios::binary); // (2) std::fstream ofs("foo.txt", std::fstream::out | std::fstream::binary); // (3) http://mevius.5ch.net/test/read.cgi/tech/1698705458/336
337: デフォルトの名無しさん (ブーイモ MMde-FHn0) [sage] 2024/06/06(木) 15:53:22.90 ID:Vp529NVwM フル手書き前提がくそださい http://mevius.5ch.net/test/read.cgi/tech/1698705458/337
338: デフォルトの名無しさん (ワッチョイ fe2c-7W3t) [sage] 2024/06/06(木) 19:13:19.37 ID:FMMlTunO0 fstreamなんだったらfstreamのメンバで書くのがいいんじゃない http://mevius.5ch.net/test/read.cgi/tech/1698705458/338
339: 警備員[Lv.23] (ワッチョイ 1563-WQ8n) [sage] 2024/06/06(木) 23:36:07.51 ID:Glzej5210 (1)は#include <ios>が要るし、 (2)は「basic_」の6文字×フラグの数 だけ長いし、 (3)も同様でありなおかつ>>337に従ったとき use binary = std::fstream::binary; use ibinary = std::ifstream::binary; use obinary = std::ofstream::binary; となってしまい、 どれもこれもコード量最小化原則的にビミョーなことに…… ていうかなんで同じことをするのに複数の書き方があるのかっていうか、 Perlじゃあるまいし…… http://mevius.5ch.net/test/read.cgi/tech/1698705458/339
340: デフォルトの名無しさん (ワッチョイ d68d-vvKF) [sage] 2024/06/06(木) 23:54:13.70 ID:7ZzCG2hU0 iostreamはまあしゃーない… http://mevius.5ch.net/test/read.cgi/tech/1698705458/340
341: デフォルトの名無しさん (ワッチョイ a97c-3xqL) [sage] 2024/06/07(金) 02:20:24.96 ID:GhXFHGen0 C++の悪評の4割くらいはiostreamのせいだからな http://mevius.5ch.net/test/read.cgi/tech/1698705458/341
342: デフォルトの名無しさん (ワッチョイ a944-l7CW) [sage] 2024/06/07(金) 04:24:11.05 ID:qf+nnTv50 ここでCmakeとNinjaについて聞くのダメ? どーも関係がよくわからなくて? http://mevius.5ch.net/test/read.cgi/tech/1698705458/342
343: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ a932-zlCG) [sage] 2024/06/07(金) 05:26:04.94 ID:zM43Xr/H0 >>342 そういう雑多な話題のちょうどよいスレは見当たらんし、単発で終わる質問程度なら許容されると思うが……。 質問の内容が漠然としているなら丁寧な回答は得られないと思う。 「よくわからない」という状況になるときってのは大抵の場合に関連する前提知識が足りてないので 質問が連鎖的に発生してダラダラ続いたりするから。 http://mevius.5ch.net/test/read.cgi/tech/1698705458/343
344: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ a932-zlCG) [sage] 2024/06/07(金) 05:36:24.41 ID:zM43Xr/H0 >>336 第四の選択肢 std::fstream ofs("foo.txt", ofs.out | ofs.binary); http://mevius.5ch.net/test/read.cgi/tech/1698705458/344
345: デフォルトの名無しさん (ワッチョイ fee5-FHn0) [sage] 2024/06/07(金) 13:37:29.47 ID:kav19u0f0 copilotで補完でok http://mevius.5ch.net/test/read.cgi/tech/1698705458/345
346: デフォルトの名無しさん (ワッチョイ 6af0-AYul) [sage] 2024/06/07(金) 17:07:58.06 ID:NFmVQMC40 バカの解決策 http://mevius.5ch.net/test/read.cgi/tech/1698705458/346
347: デフォルトの名無しさん (ブーイモ MMea-FHn0) [sage] 2024/06/07(金) 21:12:45.28 ID:70o6R+hDM また時代に取り残されるじじい http://mevius.5ch.net/test/read.cgi/tech/1698705458/347
348: デフォルトの名無しさん (ワッチョイ 1563-WQ8n) [sage] 2024/06/07(金) 21:48:19.45 ID:ORLoeNdF0 >>344 ofsのスコープの隙間を突きなおかつ静的メンバをドット演算子で参照する等 テクニカルですばらっし http://mevius.5ch.net/test/read.cgi/tech/1698705458/348
349: デフォルトの名無しさん (ワッチョイ fee5-FHn0) [sage] 2024/06/08(土) 01:03:51.86 ID:k3Jnk/Aj0 静的解析で文句言われる可能性あるからやめときな 頻発するならスニペット作ればいいだけ そういう表面的なことにこだわる奴は三流 http://mevius.5ch.net/test/read.cgi/tech/1698705458/349
350: デフォルトの名無しさん (ワッチョイ f344-7AaF) [sage] 2024/06/09(日) 04:26:59.39 ID:RJYm8+UN0 lldb v14.0.0 で正しくプロセスを実行できません apt insrall でインストールしたもので, 環境はwsl 1 です 具体的には下のサイトのIssue Encountered:と全く同じ症状です https://stackoverflow.com/questions/78275920/troubleshoot-lldb-on-ubuntu-wsl 改めて書きますと Hello World 表示だけのソースを clang でコンパイルし, lldb で読み込み run させると Process 20784 launched: '/home/Hustler/c++/move/move' (x86_64) と表示されたまま応答がなくなり 放置すると(サイトでは強制終了させてるようですが) Process 20784 exited with status = -1 (0xffffffff) lost connection となってコマンド入力待ち状態となります ちなみにプログラムはそのまま実行して正しく動作しますし gdb でも何の問題もありません これに関して何か情報をお持ちの方いますか? http://mevius.5ch.net/test/read.cgi/tech/1698705458/350
351: デフォルトの名無しさん (ワッチョイ f344-7AaF) [sage] 2024/06/09(日) 05:11:57.08 ID:RJYm8+UN0 今やってみたのですが lldb-14をuninstall(remove)し lldb-15をインストールしてみましたが 状況は改善しませんでした http://mevius.5ch.net/test/read.cgi/tech/1698705458/351
352: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f332-Oh5j) [sage] 2024/06/09(日) 15:07:14.43 ID:bthWHIYm0 WSL1 は (ある程度) Linux 互換のシステムコールを windows 内に実装することで実現していて Linux カーネルそのものではないので色々と不足がある。 (そのかわり Windows と親和性がある部分もある。) WSL1 で用意してない Linux の機能に依存したアプリケーションは動かない。 まともな互換性が必要ならWSL2 を使いなさいという話なので手間をかけて WSL1 を積極的にはサポートしないと思う。 http://mevius.5ch.net/test/read.cgi/tech/1698705458/352
353: デフォルトの名無しさん (ワッチョイ f344-7AaF) [sage] 2024/06/09(日) 20:56:05.63 ID:RJYm8+UN0 >>352 wsl2 ではlldbは問題なく動いてるんですか? 古いCPUなのでwsl2がインスコできないもんで 上のサイトはwslのバージョンは書いてなかったようですし http://mevius.5ch.net/test/read.cgi/tech/1698705458/353
354: デフォルトの名無しさん (ワッチョイ 6363-vt9G) [sage] 2024/06/09(日) 21:14:14.41 ID:VES2dE5O0 WSLはlldbが使うシステムコールが足りてないって昔から言われていたかと ターゲット機を別にするとかWSL2にするとかじゃね? http://mevius.5ch.net/test/read.cgi/tech/1698705458/354
355: デフォルトの名無しさん (ワッチョイ f344-7AaF) [sage] 2024/06/09(日) 21:36:35.88 ID:RJYm8+UN0 >>354 >WSLはlldbが使うシステムコールが足りてないって昔から言われていたかと なるほどTHXです clang使ってなかったので全然わかりませんでした 動かないlldbもさんざんggったんだけど system call未実装にはたどり着けませんでした ようやくすっきりしました http://mevius.5ch.net/test/read.cgi/tech/1698705458/355
356: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f332-Oh5j) [sage] 2024/06/09(日) 22:04:05.34 ID:bthWHIYm0 ざっとググってみた感じたと wsl1 では procfs が提供する情報が少ないのが lldb が動かない直接の原因みたいな数年前の情報は見つかる。 内部構造がまるで違うはずなのに表面的なインターフェースは互換にするなんてのは無理のある話なので互換性が「ある程度」にとどまるのは仕方ない。 http://mevius.5ch.net/test/read.cgi/tech/1698705458/356
357: デフォルトの名無しさん (ワッチョイ f344-7AaF) [sage] 2024/06/09(日) 22:18:48.29 ID:RJYm8+UN0 んー clangちょっと調べたかったんで Visual Studioにclangインスコして調べますわ できるならwslでやるのが手っ取り早いんですが Q9550とQ9550sしか持ってないもんで 以来CPUの爆値上がりと最近の円の爆下がりで新しく組めてないんですわ ダイサイズ変わらないのにCPU 3万ー> 10万とか購買意欲が萎える http://mevius.5ch.net/test/read.cgi/tech/1698705458/357
358: デフォルトの名無しさん (ブーイモ MM1f-vt9G) [sage] 2024/06/10(月) 18:15:47.68 ID:bkv2YMA2M >>355 github のwslのissueを漁れば出て来るかと。 結論がWSL2使えだったかと http://mevius.5ch.net/test/read.cgi/tech/1698705458/358
359: 350 (ワッチョイ f344-7AaF) [sage] 2024/06/10(月) 21:38:00.71 ID:gvR5xwnw0 自己レスです その後 Visual Studioのインストールオプションでclangを選択し 正しく動作することは確認したのですが... 今や誰でもロハで使えるインテルコンパイラがとっくの昔にllvm化されてたんですね clangに拘りがなければ x86/x64のwin/linux/wsl は素直にopenAPI使っとくのが幸せかも. ちなみにwsl 1にlinux版をインストールしましたが コンパイラicxもデバッガgdb-opwnapiも何の問題もなく動いてます(今のところは) なので Visual Studio はインストールオプションのclang は外してもとに戻し wsl は >apt remove clang clang-15 >apt remove lldb lldb-15 しときました http://mevius.5ch.net/test/read.cgi/tech/1698705458/359
360: 350 (ワッチョイ f344-7AaF) [sage] 2024/06/11(火) 06:20:17.73 ID:Ip4/j3Hv0 ☓ openAPI ◯ oneAPI http://mevius.5ch.net/test/read.cgi/tech/1698705458/360
361: あぼーん [あぼーん] あぼーん http://mevius.5ch.net/test/read.cgi/tech/1698705458/361
362: あぼーん [あぼーん] あぼーん http://mevius.5ch.net/test/read.cgi/tech/1698705458/362
363: デフォルトの名無しさん (ワッチョイ 43d7-pk1M) [] 2024/07/13(土) 19:06:26.39 ID:Dtkl2SPB0 若者のBoost離れ http://mevius.5ch.net/test/read.cgi/tech/1698705458/363
364: デフォルトの名無しさん (ワッチョイ 0501-twcF) [sage] 2024/07/13(土) 19:56:34.01 ID:vwgbCsGD0 と言いますと? http://mevius.5ch.net/test/read.cgi/tech/1698705458/364
365: デフォルトの名無しさん (ワッチョイ f5f9-pk1M) [] 2024/07/13(土) 21:42:42.00 ID:Rh1MnFN10 VS17.10.xでBoostがビルドできなくなってるのに 誰も触れない http://mevius.5ch.net/test/read.cgi/tech/1698705458/365
366: デフォルトの名無しさん (ワッチョイ f5f9-pk1M) [] 2024/07/13(土) 21:47:29.39 ID:Rh1MnFN10 MSVC143から144に変わったせいでビルドできないらしいですよ http://mevius.5ch.net/test/read.cgi/tech/1698705458/366
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 636 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.171s*