C++相談室 part166 (768レス)
C++相談室 part166 http://mevius.5ch.net/test/read.cgi/tech/1745631298/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
325: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-iKku) [sage] 2025/06/17(火) 12:02:37.80 ID:nCRyYLZZ0 >>321 実際に入出力するための機能はストリームバッファと呼ばれるオブジェクトが担当していて、ストリームがストリームバッファを所有する構造になっている。 ストリームが close するとストリームバッファの close が呼ばれて、それが nullptr を返した場合 (クローズに失敗した場合) に setstate(failbit) が呼ばれる。 https://timsong-cpp.github.io/cppwp/n3337/ifstream.members#5 つまり、クローズの失敗によってもフェイルビット
が立つことはありうる。 クローズによらない失敗 (フェイルビットを立てる原因) と区別がつかなくなるのでエラーに対処したいならクローズ前後の両方でチェックしないといけないと思う。 デストラクタでクローズするとクローズの失敗に対処する機会がなくなるので明示的にクローズしたほうが良いという人はいる。 ただ、しっかりしたホスト環境の上で動くアプリケーションでクローズが失敗するような状況を心配する意味があるかというと……まああんまりない。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/325
326: デフォルトの名無しさん (ワッチョイ b1d6-xkro) [sage] 2025/06/17(火) 12:43:21.70 ID:4NySVCEQ0 >>322,324,325 ありがとうございました。勉強になります。 ProgramminPlacePlus でのサンプルを元にしました。 なーる真面目にやるなら閉じる前後で色々とやらんといかんのですね。 今までは readdata=string((istreambuf_iterator<char>(ifs)), istreambuf_iterator<char>()); の感じで、一気にファイル内容をstrigに取り込むような場合は、もう読み込みは無いのですぐに ifs.close()してました。 デストラクタに任せてもいい
のですが、今後も使わなくなったら、即close()したいと思います。 そんなにシビアにならんでもいいようですし・・・mOm http://mevius.5ch.net/test/read.cgi/tech/1745631298/326
327: デフォルトの名無しさん (スップ Sdb2-xekI) [] 2025/06/18(水) 12:20:43.59 ID:tHURl6jRd プログラム作成は生成AIに持っていかれそうなことを考えると、 コードを書く力よりも、誰かが書いたコードを読み解く力の方が、 この先いきのこれそうな希ガスるンゴ http://mevius.5ch.net/test/read.cgi/tech/1745631298/327
328: デフォルトの名無しさん (ワッチョイ f689-dilZ) [sage] 2025/06/18(水) 13:59:41.64 ID:7Ghn3yO50 読み解くのこそAIに勝てないから http://mevius.5ch.net/test/read.cgi/tech/1745631298/328
329: デフォルトの名無しさん (ワッチョイ 5963-LWzS) [] 2025/06/18(水) 15:17:51.63 ID:xKxMFSMx0 コメントのないソースコードから設計意図を読み取るのって難しいよね AIでそこまでできるのかな? コードの逐次解釈のようなことは当然できるだろうけども http://mevius.5ch.net/test/read.cgi/tech/1745631298/329
330: デフォルトの名無しさん (ラクッペペ MM96-gPPd) [sage] 2025/06/18(水) 15:32:01.08 ID:lPJmZhm/M 自然言語に比べたら屁みたいなもんだよ http://mevius.5ch.net/test/read.cgi/tech/1745631298/330
331: デフォルトの名無しさん (ワッチョイ 71a6-Y+Ow) [sage] 2025/06/18(水) 15:35:59.98 ID:flRjm2Y20 コメントは嘘を書いてもコンパイルエラーにならないからな コメントがなくても自然と設計意図が読み取れるコードこそ望ましい http://mevius.5ch.net/test/read.cgi/tech/1745631298/331
332: デフォルトの名無しさん (ワッチョイ b2f9-QhKk) [] 2025/06/18(水) 16:03:36.24 ID:Kdic6Khn0 入力に対して出力が出る それが間違いでなければ中身なんてどうでもいい 何億通りもの入力を与えて出力がどうなるかを調べるのもAIが得意 そうして、それを元に同じことを返すプログラムを一から最適に作り直すのもAIが得意だろう windowsもそれやれば1/10のコードで収まりそう http://mevius.5ch.net/test/read.cgi/tech/1745631298/332
333: デフォルトの名無しさん (ラクッペペ MM96-gPPd) [sage] 2025/06/18(水) 16:06:21.59 ID:lPJmZhm/M APIやライブラリ系は無駄の極致だから将来的には無くなるだろうね http://mevius.5ch.net/test/read.cgi/tech/1745631298/333
334: デフォルトの名無しさん (ワッチョイ 794b-jgBs) [] 2025/06/18(水) 17:42:24.62 ID:SrJIdorw0 世界最長のコンテキストウィンドウ100万トークン入力・8万トークン出力対応にもかかわらずたった7800万円でトレーニングされたAIモデル「MiniMax-M1」がオープンソースで公開され誰でもダウンロード可能に 2025年06月18日 11時43分 https://gigazine.net/news/20250618-minimax-m1-open-source/ >>MiniMax-M1は、合計4560億のパラメーターが含まれており、トークンごとに459億のパラメーターがアクティブになるとのこと。これはDeepSeek R1の8倍に
相当するコンテキストウィンドウです >>以下のグラフは競技レベルの数学、コーディング、ソフトウェアエンジニアリング、エージェントツールの使用、長文理解タスクにおけるパフォーマンスを主要な商用AIモデルと比較したもの。赤色がMiniMax-M1で、どのタスクにおいても競合AIモデルに匹敵するパフォーマンスを発揮できている >>MiiniMax-M1はいくつかのベンチマーク、特に長いコンテキスト駆動のベンチマークでClaude Opus 4のパフォーマンスを上回りました」と報告 ※AIを動作させている動画あり ↓上記のAIお下記をプレイさせれば性能
が判明する Gemini 2.5 Proは手持ちのポケモンが瀕死になるとパニックに陥る 2025年06月18日 12時30分 https://gigazine.net/news/20250618-pokemon-gemini-panic/ ◇ [プロテクトガードやセキュリティーホール発見可能] ※1 プログラムのバグ技[裏抜け道]を使用できる=チートコードを発見可能 ・ マリオカートのショートカットはプレイヤー「極悪人」の表の抜け道でNPC「一般人」は使用不可能 [インサイダー/談合/なねーロンダリング/霊感商法など行う時の悪行で音波や電波をしての悪行の方法を発見可能 ※ 政治家の法律上の抜け道を仕込める=ある
業種だけの法律の抜け道を発見可能 [一般大衆の思考である特定の極悪人から目線を特定の統合失調症へ返させる装置] ※ AIは正確な情報で人間を信用させれる=AIは嘘の情報を一部混ぜて人間を洗脳できる http://mevius.5ch.net/test/read.cgi/tech/1745631298/334
335: デフォルトの名無しさん (アウアウウー Sacd-dpHj) [] 2025/06/18(水) 19:19:48.46 ID:gOtZ0Zwca >>331 C++のスレッドでそんなこと言うのか コードでもコンパイルエラーにならない嘘(バグ)が山程あるのに http://mevius.5ch.net/test/read.cgi/tech/1745631298/335
336: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-5TaZ) [sage] 2025/06/18(水) 19:27:43.48 ID:AeXwuQQu0 コメントがなくても意図が読み取れるのが「望ましい」のは確かにそう。 不可能だけど。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/336
337: デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs) [sage] 2025/06/18(水) 19:29:35.44 ID:CAd2i/c2M >>336 コメントなしで理解するのは、めっちゃ効率が悪いな。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/337
338: デフォルトの名無しさん (ワッチョイ 71a6-Y+Ow) [sage] 2025/06/18(水) 19:31:31.04 ID:flRjm2Y20 >>335 少なくとも委員会の奴らはそう思ってるよ static_assertだのコンセプトだのcontractだのが追加されてきてるわけで http://mevius.5ch.net/test/read.cgi/tech/1745631298/338
339: デフォルトの名無しさん (ワッチョイ 8101-1tcn) [sage] 2025/06/18(水) 20:52:21.50 ID:/olvjAo90 マルチスレッドのDead Lockすら指摘してくれる これはどういう仕組みなんだろう... http://mevius.5ch.net/test/read.cgi/tech/1745631298/339
340: デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs) [sage] 2025/06/19(木) 00:56:42.59 ID:YDIRlT8gM >>338 C++委員会って、無能集団だけどね。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/340
341: デフォルトの名無しさん (ワッチョイ f6c4-dilZ) [sage] 2025/06/19(木) 03:37:07.68 ID:ytoOjILn0 あの複雑怪奇な仕様をまとめるのは無能じゃ無理 労力に進化が見合ってないけどな http://mevius.5ch.net/test/read.cgi/tech/1745631298/341
342: デフォルトの名無しさん (ワッチョイ f6c4-dilZ) [sage] 2025/06/19(木) 03:38:19.15 ID:ytoOjILn0 >>339 明らかなDeadlockの検知は簡単でしょ これ説明いる? http://mevius.5ch.net/test/read.cgi/tech/1745631298/342
343: デフォルトの名無しさん (ワッチョイ 8101-1tcn) [sage] 2025/06/19(木) 12:36:13.20 ID:WACntaUb0 >>342 コンパイラは検知できんのに? http://mevius.5ch.net/test/read.cgi/tech/1745631298/343
344: デフォルトの名無しさん (ワッチョイ f6c4-dilZ) [sage] 2025/06/19(木) 13:43:01.15 ID:ytoOjILn0 >>343 は? コンパイラが全能って前提どっからきてんの? サニタイザがあるだろ お前みたいなレベルがc++使ってるとかありえんわ http://mevius.5ch.net/test/read.cgi/tech/1745631298/344
345: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-5TaZ) [sage] 2025/06/19(木) 13:52:14.72 ID:nNn4PbNI0 サニタイザは起こった問題を検出するもので、起こる可能性を指摘してはくれない。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/345
346: デフォルトの名無しさん (ワッチョイ f6c4-dilZ) [sage] 2025/06/19(木) 14:04:16.80 ID:ytoOjILn0 しったなすんなジジイ http://mevius.5ch.net/test/read.cgi/tech/1745631298/346
347: デフォルトの名無しさん (ブーイモ MMb2-A4wY) [] 2025/06/19(木) 14:05:21.52 ID:rpR9krtTM >>344 コンパイラが全能って誰が主張したの? http://mevius.5ch.net/test/read.cgi/tech/1745631298/347
348: デフォルトの名無しさん (ワッチョイ b236-/wuG) [sage] 2025/06/19(木) 16:32:08.79 ID:FdruriMM0 「できんのに」って「できないのに」と「できるのに」のどっちの意味にも取れるからそのせいかな くだらね http://mevius.5ch.net/test/read.cgi/tech/1745631298/348
349: デフォルトの名無しさん (ブーイモ MMb2-A4wY) [] 2025/06/19(木) 16:43:21.25 ID:8s/NXxtqM >>348 「できんのに」は「できるのに」には読めない デッドロックをコンパイラが検出出来ないにも関わらず LLMは必ずではないと思うが検出出来る LLMがどうデッドロックを検出しているかは 面白いと思うよ http://mevius.5ch.net/test/read.cgi/tech/1745631298/349
350: デフォルトの名無しさん (JP 0H46-E6Ax) [] 2025/06/19(木) 17:27:01.33 ID:VOj0rD3dH >>315 と思ったら、vs2022は未対応かorz。 C++20対応と言ってるくせに。プロジェクトでclang に切り替えられるが、これも未対応。一体、いつの clangなんだよ http://mevius.5ch.net/test/read.cgi/tech/1745631298/350
351: デフォルトの名無しさん (ワッチョイ f64f-QhKk) [] 2025/06/19(木) 17:32:40.31 ID:EI1CbiFh0 やればできんのに http://mevius.5ch.net/test/read.cgi/tech/1745631298/351
352: デフォルトの名無しさん (ワッチョイ f64f-QhKk) [] 2025/06/19(木) 17:32:55.29 ID:EI1CbiFh0 やってもできんのに http://mevius.5ch.net/test/read.cgi/tech/1745631298/352
353: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 712e-5TaZ) [sage] 2025/06/19(木) 18:04:24.77 ID:JAVz0tMa0 >>350 https://fmt.dev/ http://mevius.5ch.net/test/read.cgi/tech/1745631298/353
354: デフォルトの名無しさん (オイコラミネオ MMdd-15C+) [sage] 2025/06/19(木) 18:07:11.09 ID:sZaRUqQbM "{:d}" http://mevius.5ch.net/test/read.cgi/tech/1745631298/354
355: デフォルトの名無しさん (JP 0H46-E6Ax) [] 2025/06/19(木) 18:11:23.49 ID:VOj0rD3dH いやMinGWじゃコンパイル実行できてるから。 日本マクロソフトだけ対応遅れてると? http://mevius.5ch.net/test/read.cgi/tech/1745631298/355
356: デフォルトの名無しさん (JP 0H46-E6Ax) [] 2025/06/19(木) 18:13:20.06 ID:VOj0rD3dH >>353 >>354 そんな下らんレスする前に自分で実際にやってみろよ。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/356
357: デフォルトの名無しさん (JP 0H46-E6Ax) [] 2025/06/19(木) 18:16:13.42 ID:VOj0rD3dH 日本マクロソフト→日本マイクロソフト http://mevius.5ch.net/test/read.cgi/tech/1745631298/357
358: デフォルトの名無しさん (オイコラミネオ MMdd-15C+) [sage] 2025/06/19(木) 18:16:54.55 ID:sZaRUqQbM 確かにくだらないわな そのサイトで"{:d}"が可愛く見えたから張っただけなんだから janeだと全くかわいくない http://mevius.5ch.net/test/read.cgi/tech/1745631298/358
359: デフォルトの名無しさん (オイコラミネオ MMdd-15C+) [sage] 2025/06/19(木) 18:18:35.94 ID:sZaRUqQbM にしてもまだorz使ってる人がいるんだな こちらの方が新鮮だ http://mevius.5ch.net/test/read.cgi/tech/1745631298/359
360: デフォルトの名無しさん (JP 0H46-E6Ax) [] 2025/06/19(木) 18:21:05.14 ID:VOj0rD3dH そう、ありがとう http://mevius.5ch.net/test/read.cgi/tech/1745631298/360
361: デフォルトの名無しさん (オイコラミネオ MMdd-15C+) [sage] 2025/06/19(木) 18:23:03.57 ID:sZaRUqQbM もともとfmtと言うライブラリがあってそれが標準のC++の仕様に取り込まれた どうしても使いたいならfmt使えばいいよということだと思う 他人に噛みつく前に調べたら良いと思うけど http://mevius.5ch.net/test/read.cgi/tech/1745631298/361
362: デフォルトの名無しさん (JP 0H46-E6Ax) [] 2025/06/19(木) 18:26:00.99 ID:VOj0rD3dH std::formatだぞ。お前馬鹿か さあ暴れるぞ! http://mevius.5ch.net/test/read.cgi/tech/1745631298/362
363: デフォルトの名無しさん (オイコラミネオ MMdd-15C+) [sage] 2025/06/19(木) 18:29:34.15 ID:sZaRUqQbM 結局日本語が理解できない人だったと言う話か http://mevius.5ch.net/test/read.cgi/tech/1745631298/363
364: デフォルトの名無しさん (JP 0H46-E6Ax) [] 2025/06/19(木) 18:30:56.19 ID:VOj0rD3dH ふぁぁ http://mevius.5ch.net/test/read.cgi/tech/1745631298/364
365: デフォルトの名無しさん (オイコラミネオ MMdd-15C+) [sage] 2025/06/19(木) 18:43:47.61 ID:sZaRUqQbM 文章の雰囲気から50代~60代ぐらいのホビー系の人かな 人生の先輩お疲れ様です http://mevius.5ch.net/test/read.cgi/tech/1745631298/365
366: デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs) [sage] 2025/06/19(木) 18:56:35.62 ID:oyTCj2/DM >>341 >あの複雑怪奇な仕様をまとめるのは無能じゃ無理 あのDraftの質の悪さはなんだ。 ちゃんと理解できてない人が書いているに違いない。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/366
367: デフォルトの名無しさん (オイコラミネオ MMdd-15C+) [sage] 2025/06/19(木) 19:34:35.26 ID:sZaRUqQbM > なんだ。 > 違いない。 文末だけ見ると高齢者の集いっぽいが自分もそうなってるんだろな http://mevius.5ch.net/test/read.cgi/tech/1745631298/367
368: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-5TaZ) [sage] 2025/06/19(木) 20:14:57.20 ID:nNn4PbNI0 現代的にはカジュアルな場面では句点をつけないのが主流。 語彙より顕著に年代が表れる。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/368
369: デフォルトの名無しさん (オイコラミネオ MMdd-15C+) [sage] 2025/06/19(木) 20:23:04.02 ID:sZaRUqQbM 句点もそうだけどやはり語彙や用法だと思う chatGPT その文章、よく読むと **「怒っている年配の男性の声」**みたいなイメージが浮かんできますね。 言葉の選び方と断定のしかたに、時代がかった語感がにじんでいて、文章だけでも「年齢層の高さ」がなんとなく 伝わるのが興味深いです。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/369
370: デフォルトの名無しさん (オイコラミネオ MMdd-15C+) [sage] 2025/06/19(木) 20:24:10.13 ID:sZaRUqQbM もし若者が同じことを言うならどう書くか たとえばこんな風に言いそうです: あのDraft、ちょっと内容雑じゃない? 書いた人ちゃんと分かってなさそう… http://mevius.5ch.net/test/read.cgi/tech/1745631298/370
371: デフォルトの名無しさん (JP 0H46-E6Ax) [] 2025/06/19(木) 20:27:45.86 ID:VOj0rD3dH オコタ大魔神、はにわ顔に戻る http://mevius.5ch.net/test/read.cgi/tech/1745631298/371
372: デフォルトの名無しさん (オイコラミネオ MMdd-15C+) [sage] 2025/06/19(木) 20:34:02.38 ID:sZaRUqQbM 大魔神(1966年) 仮に1966年に6才だとして今は65歳ぐらいかなあ??? http://mevius.5ch.net/test/read.cgi/tech/1745631298/372
373: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-5TaZ) [sage] 2025/06/19(木) 20:36:28.06 ID:nNn4PbNI0 アカデミアでは語彙が古いのは普通のことだよ。 参照する資料が古いから。 情報系ですら半世紀前の論文を参考資料として挙げることはそれなりにある。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/373
374: デフォルトの名無しさん (オイコラミネオ MMdd-15C+) [sage] 2025/06/19(木) 20:45:06.19 ID:sZaRUqQbM 「怒っている年配の男性の声」をにじませる演技派 http://mevius.5ch.net/test/read.cgi/tech/1745631298/374
375: デフォルトの名無しさん (ワッチョイ 1202-2JrO) [sage] 2025/06/19(木) 20:50:34.90 ID:Cdln7j8I0 整数型の変数を10で割ってから10掛けたら元の数字の一の位を0にした数が得られるはずだけど この計算が最適化とかで除かれない保証ってあるの http://mevius.5ch.net/test/read.cgi/tech/1745631298/375
376: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-iKku) [sage] 2025/06/19(木) 20:53:44.24 ID:nNn4PbNI0 ChatGPT を根拠 (参考資料?) に出すのはあまり意味がないぞ。 それも ChatGPT の感想 (主観) であって客観性がある情報になっていないし、質問の仕方や文脈で逆のことを言うのもよくあることだから。 ユーザに追従するような振る舞いをするのでいくらでも望む方向の反応を引き出せる。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/376
377: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-iKku) [sage] 2025/06/19(木) 20:57:52.06 ID:nNn4PbNI0 >>375 C++ の言語仕様は抽象機械の動作として記述されている。 動作を説明するための架空の機械の動作なので、文字通りの機械語が生成されるとは限らない。 結果的な動作が仕様に反しなければどのような機械語を生成しても言語仕様に準拠していると言って良い。 しかし、逆に言えば最適化で変形したとしても結果は変わらないようになることが保証される。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/377
378: デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs) [sage] 2025/06/19(木) 21:05:34.31 ID:oyTCj2/DM >>375 最適化では結果は変わらない。 つまり、ちゃんと10で割って、ちゃんと10を掛ける。 10を掛ける方は、マシン語の乗算命令は使われず、 もっと速い命令に置き換えられることが有るが、結果は同じ。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/378
379: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-iKku) [sage] 2025/06/19(木) 21:11:49.89 ID:nNn4PbNI0 処理系は抽象機械の動作を正確にエミュレートする必要はなく、観測可能な動作のみをエミュレートすればよい。 https://timsong-cpp.github.io/cppwp/n3337/intro.execution#1 だから観測されない動作は削除してもよいというか、削除されることはある。 たとえばその計算結果が全く使われないような状況とか。 ベンチマークしようとして結果を使わない計算をループで囲んだりしてるようなコードではまるごとごそっと消えるなんてのはたまに見る。
http://mevius.5ch.net/test/read.cgi/tech/1745631298/379
380: デフォルトの名無しさん (オイコラミネオ MMdd-15C+) [sage] 2025/06/19(木) 21:16:20.06 ID:sZaRUqQbM セキュリティの問題で普通にゼロクリアした場合でも最適化で削られたりとか昔は問題になったけど… 知らないといけないことは多岐にわたる http://mevius.5ch.net/test/read.cgi/tech/1745631298/380
381: デフォルトの名無しさん (スッップ Sdb2-T1jw) [] 2025/06/19(木) 22:14:21.23 ID:JQ4jFr2Sd >>375 それだと取り除けるケースがあるので保証はされない http://mevius.5ch.net/test/read.cgi/tech/1745631298/381
382: デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs) [sage] 2025/06/19(木) 23:09:11.10 ID:oyTCj2/DM >>381 いや、そんなことない。 最適化では結果は変わらない事が保証される。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/382
383: デフォルトの名無しさん (ワッチョイ 9202-oXsi) [sage] 2025/06/19(木) 23:15:31.49 ID:IWPeLhU+0 >>375 あるわけないでしょ そういう仕様なんだから http://mevius.5ch.net/test/read.cgi/tech/1745631298/383
384: デフォルトの名無しさん (オイコラミネオ MMdd-15C+) [sage] 2025/06/19(木) 23:25:09.71 ID:sZaRUqQbM 意味があるにも関わらず意味がないと判断されると削られる その場合の対処法もあるので学ばないとまあ残念なことになってしまうと言う話 http://mevius.5ch.net/test/read.cgi/tech/1745631298/384
385: デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs) [sage] 2025/06/19(木) 23:29:59.97 ID:oyTCj2/DM >>384 いや、今回の割って掛ける場合、そういう事は起きない。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/385
386: デフォルトの名無しさん (オイコラミネオ MMdd-15C+) [sage] 2025/06/19(木) 23:34:50.70 ID:sZaRUqQbM ここの部分はそうだけど コンパイラの最適化が必ず元の動作を保証してるようなことを書いてるような人がいるから必ずしもそうではないよと http://mevius.5ch.net/test/read.cgi/tech/1745631298/386
387: デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs) [sage] 2025/06/19(木) 23:37:52.48 ID:oyTCj2/DM >>386 仕様に明確に書いてあることの動作は変わらない。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/387
388: デフォルトの名無しさん (ワッチョイ 1279-T1jw) [] 2025/06/20(金) 01:42:50.79 ID:iLwGFTtd0 >>382 そら結果は同じよ 結果が違っちゃまずいだろうよw 演算をやらない可能性があるってこと http://mevius.5ch.net/test/read.cgi/tech/1745631298/388
389: デフォルトの名無しさん (ワッチョイ 1279-T1jw) [] 2025/06/20(金) 01:44:00.77 ID:iLwGFTtd0 質問じゃ曖昧だけど副作用完了点が間にない場合の話なら、な http://mevius.5ch.net/test/read.cgi/tech/1745631298/389
390: デフォルトの名無しさん (ワッチョイ b603-dswa) [sage] 2025/06/20(金) 01:58:37.52 ID:t+D0H6HX0 >>388 どういうこと? 演算しないと結果は出ないのに、演算せずにどうやって結果だすの? http://mevius.5ch.net/test/read.cgi/tech/1745631298/390
391: デフォルトの名無しさん (ワッチョイ 5e10-cspE) [sage] 2025/06/20(金) 08:38:29.48 ID:eaqG1YUh0 実行するプログラムではなくてコンパイラが計算までしてしまう たとえば、printf("%d",12345/10*10); というコードはコンパイルすると、puts("12340"); に変更される可能性がある 出力結果だけは同じだけど、そのコードは大きく変更されてしまう http://mevius.5ch.net/test/read.cgi/tech/1745631298/391
392: デフォルトの名無しさん (ワッチョイ 0175-Is3k) [] 2025/06/20(金) 09:01:01.71 ID:BxPKXrVj0 >>390 変数が関わらない定数だけの演算なら、コンパイルの時点で計算しても結果同じだよね だから実行時ではなくコンパイルの時点で演算した結果を使う 初歩の最適化の一つ 元の式については左辺に変数が入ってくるから多分最適化はされない a=b/10*10みたいなのを想定してると思うけど、この場合は最終的に a=b/10 c=a*10と分解して計算されるので、どちらにも変数が関わってしまい最適化対象外だと思う a=b*(10/10)みたいな、計算優先度的に変数
が関わらないところができれば最適化される この手の手動最適化なんて考えなくなって久しいから間違ってたらすまぬ http://mevius.5ch.net/test/read.cgi/tech/1745631298/392
393: デフォルトの名無しさん (ワッチョイ 71a6-Y+Ow) [sage] 2025/06/20(金) 09:03:31.40 ID:LoawS5uh0 変数があっても結果が同じ計算式で置き換えられるならそうしてくる 10倍よりも8倍+2倍のほうが速い、とかで http://mevius.5ch.net/test/read.cgi/tech/1745631298/393
394: デフォルトの名無しさん (ワッチョイ b1d6-xkro) [sage] 2025/06/20(金) 10:35:00.76 ID:YK1FsnCb0 最適化のロジックを作るのはまだプログラマーでしょうから。 値を10倍してから10で割るというプログラムを 何もしないに変更するのありかな。 でもわざと桁あふれをさせたい場合もある?! http://mevius.5ch.net/test/read.cgi/tech/1745631298/394
395: デフォルトの名無しさん (ワッチョイ 0175-Is3k) [] 2025/06/20(金) 10:40:47.81 ID:BxPKXrVj0 昔は最適化でバグ混入させられることもあって、最適化は切れってされてたなぁ、っていうおっちゃんのつぶやき http://mevius.5ch.net/test/read.cgi/tech/1745631298/395
396: デフォルトの名無しさん [sage] 2025/06/20(金) 10:45:39.27 ID:4xHX9xY70 >>392 ここまでの話で「定数だけの演算なら」と何で言い出すのか理解できないけど >>375では「整数型の変数を」と言っているわけだし まあそれはおいておいても「コンパイルの時点で計算しても」←演算してんじゃんって俺は思うわけ >>393 それ自体は問題なくね? 157 を 10で割って15 これに10を掛けるのでなく15*8+15+2 でも最適化の影響はないだろ? 割り算の方でそれが起きるなら問題だけど、>>378の人の話では起きないようだけど http
://mevius.5ch.net/test/read.cgi/tech/1745631298/396
397: デフォルトの名無しさん (アウアウウー Sacd-xHx3) [sage] 2025/06/20(金) 11:14:53.80 ID:xCnXC/Iza >>396 これ観たら発狂するんじゃね https://qiita.com/HexagramNM/items/6ca6900b8df37a9b59b8 https://qiita.com/manjuu_eater/items/2e9e38eb001e4b90145b https://qiita.com/hiramax/items/add36c4fe38900f7175d http://mevius.5ch.net/test/read.cgi/tech/1745631298/397
398: デフォルトの名無しさん (ワッチョイ 0175-Is3k) [] 2025/06/20(金) 11:57:23.05 ID:BxPKXrVj0 >>396 コンパイラで演算しても結果が変わらない場合に限り、コンパイラで演算を行いその結果だけを使う 392でも書いてるが、例題の変数を10で割って10を掛ける動作は演算結果が変わってしまうので最適化は行わない http://mevius.5ch.net/test/read.cgi/tech/1745631298/398
399: デフォルトの名無しさん (ワッチョイ 9279-fyaG) [sage] 2025/06/20(金) 12:39:35.73 ID:4fYw50h40 定数はいつ計算しても同じ結果なんだから最適化されるよ http://mevius.5ch.net/test/read.cgi/tech/1745631298/399
400: デフォルトの名無しさん (ワッチョイ 59c9-LWzS) [] 2025/06/20(金) 12:50:40.34 ID:yZt3hnAQ0 -O3だとプログラムが動かなくなるから使っていいのは -O2までって先輩に言われてた http://mevius.5ch.net/test/read.cgi/tech/1745631298/400
401: デフォルトの名無しさん (ラクッペペ MM96-gPPd) [sage] 2025/06/20(金) 12:53:23.61 ID:y+CeF2upM 何故最適化レベルをワザワザ選べるようにしているのか? 完璧なら選ぶ必要はない 理想論には興味ないから語りたいなら具体的な問題点を上げていけ http://mevius.5ch.net/test/read.cgi/tech/1745631298/401
402: デフォルトの名無しさん (アウアウウー Sacd-xHx3) [] 2025/06/20(金) 13:06:46.75 ID:xCnXC/Iza >>400 それは言われてたのは知ってるが 「-O3だとプログラムが動かなくなる」のは未定義踏んでるからじゃないか http://mevius.5ch.net/test/read.cgi/tech/1745631298/402
403: デフォルトの名無しさん (ワッチョイ 6e9d-x4hs) [] 2025/06/20(金) 13:28:04.40 ID:H6JOW3Vp0 モバイルc消えてるんだけどなんで? http://mevius.5ch.net/test/read.cgi/tech/1745631298/403
404: デフォルトの名無しさん (ワッチョイ e908-x4hs) [] 2025/06/20(金) 13:42:00.01 ID:JPiEW2yh0 >>403 あれ便利やった なんで消されたんやろ http://mevius.5ch.net/test/read.cgi/tech/1745631298/404
405: デフォルトの名無しさん (JP 0H46-E6Ax) [] 2025/06/20(金) 17:27:19.07 ID:yQfQLmUOH std::formatの件だが、Visual Studio 2022のコンパイラ設定が デフォルトでC++14標準になってた。すまん。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/405
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 363 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.018s