!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること
次スレは>>980が立てること
無理なら細かく安価指定
※前スレ
C++相談室 part162
https://mevius.5ch.net/test/read.cgi/tech/1667194175/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
C++相談室 part163
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ bbda-Axul)
2022/12/30(金) 23:16:31.37ID:DPUEZfMS0491デフォルトの名無しさん (ワッチョイ 835f-uIvN)
2023/02/16(木) 19:56:28.04ID:G6Y1BfCz0492デフォルトの名無しさん (ワッチョイ a790-kbar)
2023/02/16(木) 20:41:32.26ID:J+JHFBNF0 数年前にawsの仕事したとき
g++のバージョンが古くて
unique_ptrを使ってたコードを泣きながら
生ポにしたことがある
g++のバージョンが古くて
unique_ptrを使ってたコードを泣きながら
生ポにしたことがある
493デフォルトの名無しさん (ワッチョイ 8ada-hBeh)
2023/02/16(木) 20:57:10.46ID:dWYqZniE0 バカかw
自分でクラスを作ればいいだろ
スマポなんてめちゃ簡単な仕組みだぞ
自分でクラスを作ればいいだろ
スマポなんてめちゃ簡単な仕組みだぞ
494はちみつ餃子 ◆8X2XSCHEME (ワッチョイ eb3e-t1ev)
2023/02/16(木) 20:58:28.56ID:INPRljPt0 >>493
右辺値参照の仕組みがないと上手いこと表現できないよ。
右辺値参照の仕組みがないと上手いこと表現できないよ。
495デフォルトの名無しさん (ワッチョイ 8ada-hBeh)
2023/02/16(木) 21:02:17.61ID:dWYqZniE0 そこはリファレンスカウンタを使ったトラディショナルな方法でやるのよ
速度は少し遅くなるけど
速度は少し遅くなるけど
496デフォルトの名無しさん (ワッチョイ ff7c-DG2X)
2023/02/16(木) 21:12:06.74ID:kdIqPIYR0 古いコンパイラで無理やり動かすなら#define unique_ptr auto_ptrという手も…
497はちみつ餃子 ◆8X2XSCHEME (ワッチョイ eb3e-t1ev)
2023/02/16(木) 21:12:18.96ID:INPRljPt0 すでに std::unique_ptr で正しく動いているコードであるという前提があるなら
たしかにそれでも致命的な矛盾は起きなさそうに思えるな。
たしかにそれでも致命的な矛盾は起きなさそうに思えるな。
498デフォルトの名無しさん (ワイーワ2 FF42-SSNO)
2023/02/16(木) 21:50:41.49ID:RFs7/Qh+F g++なんだから新しいバージョンのをビルドすれば良いじゃん?
499デフォルトの名無しさん (ワッチョイ 8bf0-/uvd)
2023/02/16(木) 23:12:23.80ID:ZOPwX+PA0500デフォルトの名無しさん (ワッチョイ a74e-8lmq)
2023/02/16(木) 23:27:28.78ID:UWxnAkIX0 warningだらけだとバグに繋がる重要なwarningを見逃す可能性があるから、可能な限り消した方が良いと思う
どうでもいいやつはコンパイルオプションで消しても良いし
どうでもいいやつはコンパイルオプションで消しても良いし
501デフォルトの名無しさん (ワッチョイ d301-sPc2)
2023/02/16(木) 23:46:07.27ID:LB1U3BvE0502デフォルトの名無しさん (ワッチョイ 2bf0-8lmq)
2023/02/16(木) 23:59:12.84ID:juZ9Em/90 「C/C++ warning一万個全部消してみた」
てタイトルで動画アップして欲しい
てタイトルで動画アップして欲しい
503デフォルトの名無しさん (ワッチョイ ca7c-D0vN)
2023/02/17(金) 00:31:24.08ID:SMzkkCfo0 ピコーン!全ての警告を無効にすれば良いニダ!
504デフォルトの名無しさん (ワッチョイ d301-sPc2)
2023/02/17(金) 06:19:19.83ID:KJxAAApA0505デフォルトの名無しさん (ワッチョイ 8ada-hBeh)
2023/02/17(金) 06:22:34.59ID:t3uhpImP0 「符号付きと符号なしの比較がされました」
分かっとるわ!
分かっとるわ!
506デフォルトの名無しさん (ワッチョイ ff7c-DG2X)
2023/02/17(金) 06:27:23.48ID:L7ElXWdV0 それはオーバーフロー起きないかちゃんと確認しないとダメだろ
C++使っててそこルーズなの信じられんわ
C++使っててそこルーズなの信じられんわ
507デフォルトの名無しさん (ワッチョイ 8ada-hBeh)
2023/02/17(金) 06:31:19.84ID:t3uhpImP0 文字列の長さの比較がintの上限に達することはないし負になることもないのよ
508デフォルトの名無しさん (ワッチョイ ff7c-DG2X)
2023/02/17(金) 06:47:57.06ID:L7ElXWdV0 だったら本当にそうであることを確認しないといけないし、そんなものにsignedの変数使ってるのがおかしいかもしれない
その値は本当に文字列の長さか?途中でエラーが起きたら-1とかが入ってる可能性はないのか?
そういう危険なバグの兆候を知らせるためにまともなコンパイラは警告するんだよ
その値は本当に文字列の長さか?途中でエラーが起きたら-1とかが入ってる可能性はないのか?
そういう危険なバグの兆候を知らせるためにまともなコンパイラは警告するんだよ
509デフォルトの名無しさん (ワッチョイ ff7c-DG2X)
2023/02/17(金) 06:49:33.54ID:L7ElXWdV0 一応言っとくと自分が言ってるのはプロダクトコードの話で
本人がその場でしか使わない書き捨てのオモチャなら勝手にすればいいと思う
本人がその場でしか使わない書き捨てのオモチャなら勝手にすればいいと思う
510デフォルトの名無しさん (アウアウウー Sa4f-sPc2)
2023/02/17(金) 06:55:47.58ID:YltW73tNa511デフォルトの名無しさん (ワッチョイ 8ada-hBeh)
2023/02/17(金) 07:09:21.56ID:t3uhpImP0 delphiから移植された関数の殆どが文字数をintで返す仕様でな
それ一々符号なしに変換するのが面倒でな
それ一々符号なしに変換するのが面倒でな
512デフォルトの名無しさん (ワッチョイ 8bf0-/uvd)
2023/02/17(金) 07:13:48.65ID:iM8Xviia0 使ってないパラメーターがあります
使ってない関数があります
警告が出ないようにわざわざ使う
ただのアホ
使ってない関数があります
警告が出ないようにわざわざ使う
ただのアホ
513デフォルトの名無しさん (ワッチョイ ff7c-DG2X)
2023/02/17(金) 07:15:49.11ID:L7ElXWdV0 ほとんどなのね
「全部が必ず」正の値を返すことが保証されてるんじゃなければますますチェックコードが必要だな
実にバグが出やすそうな所に見えるね
「全部が必ず」正の値を返すことが保証されてるんじゃなければますますチェックコードが必要だな
実にバグが出やすそうな所に見えるね
514デフォルトの名無しさん (ワッチョイ ff7c-DG2X)
2023/02/17(金) 07:17:50.92ID:L7ElXWdV0515デフォルトの名無しさん (スプッッ Sdaa-nNBs)
2023/02/17(金) 07:27:16.44ID:fvM55ACEd 新入り「使ってないから消しました
古株「ちょ・・・おま(汗
古株「ちょ・・・おま(汗
516デフォルトの名無しさん (ワッチョイ 8bf0-/uvd)
2023/02/17(金) 07:30:03.02ID:iM8Xviia0 >>514
ド素人ですか?
ド素人ですか?
517デフォルトの名無しさん (ワッチョイ ff7c-DG2X)
2023/02/17(金) 07:32:46.94ID:L7ElXWdV0 え?コンパイラが警告出した変数や関数だろ?使ってないローカル変数や非公開関数なんだろ?
それを消して挙動が変わるってことは何か恐ろしいメモリ破壊系バグが顕在化したってことだ
新人君お手柄やね
それを消して挙動が変わるってことは何か恐ろしいメモリ破壊系バグが顕在化したってことだ
新人君お手柄やね
518デフォルトの名無しさん (ワッチョイ 8bf0-/uvd)
2023/02/17(金) 07:50:26.17ID:iM8Xviia0 ド素人丸出しwww
警告警察の中身はこんなレベルのアホ
警告警察の中身はこんなレベルのアホ
519デフォルトの名無しさん (ワッチョイ ff7c-DG2X)
2023/02/17(金) 07:53:51.79ID:L7ElXWdV0 そうか
お前みたいな自称ド玄人が人命やインフラに関わるコードを書いてないことを願うわ
お前みたいな自称ド玄人が人命やインフラに関わるコードを書いてないことを願うわ
520デフォルトの名無しさん (ワッチョイ 8bf0-/uvd)
2023/02/17(金) 08:01:10.11ID:iM8Xviia0 ソフトの品質をコンパイラの警告に頼る方がヤバいと思うよ
521デフォルトの名無しさん (スップ Sdaa-ATHX)
2023/02/17(金) 08:14:39.58ID:xqCJita0d カーエレって割とそんな感じよ
522デフォルトの名無しさん (スッププ Sdaa-SN/d)
2023/02/17(金) 08:26:51.29ID:CXQijN6cd コンパイラの警告さえ対処しない奴が品質を語るな
523デフォルトの名無しさん (ワッチョイ 8bf0-/uvd)
2023/02/17(金) 08:36:18.04ID:iM8Xviia0 コンパイラの警告の数でソフトの品質を語るアホ
524デフォルトの名無しさん (スッププ Sdaa-SN/d)
2023/02/17(金) 09:18:35.55ID:DsIzGE7Qd シートベルトしてるだけで安全運転だと思ってる奴はヤバい←正しい
だからシートベルトしなくていい←絶対運転しちゃいけないアホ
だからシートベルトしなくていい←絶対運転しちゃいけないアホ
525デフォルトの名無しさん (ガックシ 066f-p0Ho)
2023/02/17(金) 09:52:37.27ID:YLDwb/gm6 >>477
一応の完成版を以下に貼りました。
https://wandbox.org/permlink/lXq19mN1URMQhyh5
生ポをスマポへ変えるのは一旦棚上げしています。
ありがとうございました。
一応の完成版を以下に貼りました。
https://wandbox.org/permlink/lXq19mN1URMQhyh5
生ポをスマポへ変えるのは一旦棚上げしています。
ありがとうございました。
526デフォルトの名無しさん (ワッチョイ 0f5f-lJcr)
2023/02/17(金) 10:11:56.50ID:sv7zAam40527デフォルトの名無しさん (スプッッ Sdaa-nNBs)
2023/02/17(金) 12:12:37.95ID:A4U2N4R7d 対処はしてるぞ
内容を読んだうえでの決定なんだから
内容を読んだうえでの決定なんだから
528デフォルトの名無しさん (スップ Sd4a-/uvd)
2023/02/17(金) 12:16:56.46ID:CMo6McFXd >>524
シートベルトは法律で決まってる
警告を消すのがルールで決まってる職場なら
警告かルールいずれかを消せ
そうじゃないならどうでもいい
ソフトの品質を担保するなら
警告の中身を見ずに単に隠すのが一番悪い
また
全ての警告を無条件で検証しろというなら
全ての演算も無条件で検証しろ
C++の演算はオーバーフローする可能性があるんだから
無意味な警告は出す方が悪い
コンパイラの設定で無効にしろ
コードを変えて隠す物じゃない
シートベルトは法律で決まってる
警告を消すのがルールで決まってる職場なら
警告かルールいずれかを消せ
そうじゃないならどうでもいい
ソフトの品質を担保するなら
警告の中身を見ずに単に隠すのが一番悪い
また
全ての警告を無条件で検証しろというなら
全ての演算も無条件で検証しろ
C++の演算はオーバーフローする可能性があるんだから
無意味な警告は出す方が悪い
コンパイラの設定で無効にしろ
コードを変えて隠す物じゃない
529デフォルトの名無しさん (スップ Sd4a-/uvd)
2023/02/17(金) 12:17:47.03ID:CMo6McFXd コードの検証ならちゃんとした検証ツールを使え
530デフォルトの名無しさん (ガックシ 066f-p0Ho)
2023/02/17(金) 14:00:35.55ID:YLDwb/gm6531デフォルトの名無しさん (スッップ Sdaa-zpWe)
2023/02/17(金) 18:18:23.14ID:VB0sml4Xd >>530
流し読んだ感じだけど
1.
void roots( unsigned );
> // 自らがどのようにして生まれたかを調べるメソッド
> // 第 serialNo 番のインスタンスを探索する.
自分の親を探索するのか指定serialNoが子供にいるのかどっちだよ
あと検索なのでメンバを上書きしないはず。関数自体をconstにするべき
2.
engineは親のengineを参照すればいいのでわざわざ引数で受け取る必要はない
コンストラクタは親を受け取るのとengineを受け取る2種類用意したほうがいいんじゃない?
3.
numberフィールドはいらん(名前もchildCountに変えるべきだが)
childObj.size()を見ればいい
getter関数作ったほうがいい
4.
isLeafフィールドもchildObj().size()==0見れば判断できる
流し読んだ感じだけど
1.
void roots( unsigned );
> // 自らがどのようにして生まれたかを調べるメソッド
> // 第 serialNo 番のインスタンスを探索する.
自分の親を探索するのか指定serialNoが子供にいるのかどっちだよ
あと検索なのでメンバを上書きしないはず。関数自体をconstにするべき
2.
engineは親のengineを参照すればいいのでわざわざ引数で受け取る必要はない
コンストラクタは親を受け取るのとengineを受け取る2種類用意したほうがいいんじゃない?
3.
numberフィールドはいらん(名前もchildCountに変えるべきだが)
childObj.size()を見ればいい
getter関数作ったほうがいい
4.
isLeafフィールドもchildObj().size()==0見れば判断できる
532デフォルトの名無しさん (ワントンキン MMfa-EB70)
2023/02/17(金) 18:50:34.09ID:HTK/9d/ZM もう解決してんだからアドバイス気取りでがんばって蛇足を加えんでもいいよ
533デフォルトの名無しさん (ワッチョイ 9ebb-p0Ho)
2023/02/17(金) 21:00:18.60ID:RlPt61in0 >>531
そこで図々しいお願いですが、そのように改造してくださると私にとって大いに勉強になります。
一肌脱いではいただけませんでしょうか?
生ポをスマポに直すのすら頭を抱えているヘタレなので、ここに棲まう先輩方のご鞭撻を是非に賜りたいです。
そこで図々しいお願いですが、そのように改造してくださると私にとって大いに勉強になります。
一肌脱いではいただけませんでしょうか?
生ポをスマポに直すのすら頭を抱えているヘタレなので、ここに棲まう先輩方のご鞭撻を是非に賜りたいです。
534デフォルトの名無しさん (ワッチョイ ff7c-DG2X)
2023/02/17(金) 21:26:59.48ID:L7ElXWdV0 >>528
分かってんじゃん
C++の整数演算は無条件で全て検証が必要だよ
おっしゃる通りオーバーフローするかもしれないし、それが大きなセキュリティ問題につながった例もたくさんあるからね
特にナイーブにsigned/unsigned間比較や縮小変換をしてる所は危険だし、それを知らせてくれるコンパイラ警告は実に有用なものだ
もちろんプロダクトコードの話ね
分かってんじゃん
C++の整数演算は無条件で全て検証が必要だよ
おっしゃる通りオーバーフローするかもしれないし、それが大きなセキュリティ問題につながった例もたくさんあるからね
特にナイーブにsigned/unsigned間比較や縮小変換をしてる所は危険だし、それを知らせてくれるコンパイラ警告は実に有用なものだ
もちろんプロダクトコードの話ね
535デフォルトの名無しさん (ワッチョイ a712-NLDk)
2023/02/17(金) 22:01:30.31ID:wDoqrfUd0 縮小変換が警告されるかどうかと問題が起きないようにロジック組んであるかどうかは別問題だね
536デフォルトの名無しさん (ワッチョイ ff7c-DG2X)
2023/02/17(金) 22:05:57.15ID:L7ElXWdV0 それはそう
コンパイラが知らせてくれるのは一番基本的な所だけだからな
逆に言えばそれすら対処してないようじゃ0点
コンパイラが知らせてくれるのは一番基本的な所だけだからな
逆に言えばそれすら対処してないようじゃ0点
537デフォルトの名無しさん (スッップ Sdaa-zpWe)
2023/02/17(金) 22:14:14.63ID:VB0sml4Xd >>533
丸投げすんな自分でやれ
丸投げすんな自分でやれ
538デフォルトの名無しさん (ワッチョイ a712-NLDk)
2023/02/17(金) 22:17:56.86ID:wDoqrfUd0 >>536
何がそれはそうなの?
何がそれはそうなの?
539デフォルトの名無しさん (ワッチョイ 8bf0-/uvd)
2023/02/17(金) 22:41:19.78ID:iM8Xviia0540デフォルトの名無しさん (ワッチョイ d301-GLFt)
2023/02/17(金) 22:44:01.98ID:KJxAAApA0 >>512
> 警告が出ないようにわざわざ使う
えっ、そんなレベルなのw
そりゃそんな職場なら
> 警告を消す為にバグを仕込むヤツを何度も見てきた
とかもあるんだろうな...
なんか可哀想になってきたわ
> 警告が出ないようにわざわざ使う
えっ、そんなレベルなのw
そりゃそんな職場なら
> 警告を消す為にバグを仕込むヤツを何度も見てきた
とかもあるんだろうな...
なんか可哀想になってきたわ
541デフォルトの名無しさん (ワッチョイ 46ad-D0vN)
2023/02/17(金) 22:46:57.97ID:mQelUUv/0543デフォルトの名無しさん (ワッチョイ 8bf0-/uvd)
2023/02/17(金) 22:54:29.06ID:iM8Xviia0 >>540
警告を消すためにわざわざ使うマクロを知らんのか
警告を消すためにわざわざ使うマクロを知らんのか
544デフォルトの名無しさん (ワッチョイ 8bf0-/uvd)
2023/02/17(金) 22:56:59.77ID:iM8Xviia0 ◯◯のコンパイラや◯◯のチェックツールで警告が出るから直しとけ
って言われたら何の疑問も持たずに直すの?
◯◯はバグの元だから直せって言われたら
何の疑問も持たずに直すの?
思考停止?
って言われたら何の疑問も持たずに直すの?
◯◯はバグの元だから直せって言われたら
何の疑問も持たずに直すの?
思考停止?
545デフォルトの名無しさん (ワッチョイ d301-GLFt)
2023/02/17(金) 23:43:41.95ID:KJxAAApA0546デフォルトの名無しさん (ワッチョイ 835f-XGDL)
2023/02/17(金) 23:45:03.57ID:BuPJ3Mmy0 ぶっちゃけテストしてるなら警告放置でもいいけど、
テストするような人は警告にも対処するからな
テストするような人は警告にも対処するからな
547デフォルトの名無しさん (ワッチョイ d301-GLFt)
2023/02/17(金) 23:48:24.98ID:KJxAAApA0548デフォルトの名無しさん (ワッチョイ a712-NLDk)
2023/02/17(金) 23:53:50.54ID:wDoqrfUd0 見も知らん第三者にwell-formedなコードにケチつけられたら
言いなりにしろと押しつけてくるやつ、自分の姿をビデオでも鏡でもいいから見てみたら?
言いなりにしろと押しつけてくるやつ、自分の姿をビデオでも鏡でもいいから見てみたら?
549デフォルトの名無しさん (ワッチョイ ed7c-aJXl)
2023/02/18(土) 00:40:30.23ID:U7F6huSe0 多分「直す」を「何も考えずに警告抑止なりキャストなりで握り潰す」の意味で言ってるから噛み合ってないんだと思う
警告無視マンセー君以外はもちろんバグがないか確認した上で範囲チェックやクランプや(問題ないことを確認して)キャストなどを加えてプログラムを改良する意味で言ってる
警告無視マンセー君以外はもちろんバグがないか確認した上で範囲チェックやクランプや(問題ないことを確認して)キャストなどを加えてプログラムを改良する意味で言ってる
550デフォルトの名無しさん (オイコラミネオ MM91-4mn0)
2023/02/18(土) 02:15:58.71ID:AZBhix5KM551デフォルトの名無しさん (オイコラミネオ MM91-4mn0)
2023/02/18(土) 02:21:04.46ID:AZBhix5KM >>550
間違いました。unorderd_map の rehashingについて、こう有ります:
https://cplusplus.com/reference/unordered_map/unordered_map/rehash/
>Iterator validity
>If a rehash happens, all iterators are invalidated, but references and pointers to individual elements remain valid.
>If no actual rehash happens, no changes.
なので、iteratorは無効化されるが、個々の要素への参照やポインタは有効なまま残ります。
間違いました。unorderd_map の rehashingについて、こう有ります:
https://cplusplus.com/reference/unordered_map/unordered_map/rehash/
>Iterator validity
>If a rehash happens, all iterators are invalidated, but references and pointers to individual elements remain valid.
>If no actual rehash happens, no changes.
なので、iteratorは無効化されるが、個々の要素への参照やポインタは有効なまま残ります。
552デフォルトの名無しさん (オイコラミネオ MM91-4mn0)
2023/02/18(土) 03:03:49.37ID:AZBhix5KM >>551
ソース読まないとはっきりしないけど、恐らく、イテレーターが指している
オブジェクトのポインタを取得すると以前と同じ値になっている。
しかし、イテレーターには ++ で直後の要素に移動する機能が有る。
恐らくその機能が正しく働かない場合があるということらしい。
ゴミレスでごめん。
ソース読まないとはっきりしないけど、恐らく、イテレーターが指している
オブジェクトのポインタを取得すると以前と同じ値になっている。
しかし、イテレーターには ++ で直後の要素に移動する機能が有る。
恐らくその機能が正しく働かない場合があるということらしい。
ゴミレスでごめん。
553デフォルトの名無しさん (ワッチョイ 85f0-ivXK)
2023/02/18(土) 06:19:29.80ID:hapPzQ8z0554デフォルトの名無しさん (ワッチョイ 85f0-ivXK)
2023/02/18(土) 06:45:26.64ID:hapPzQ8z0 キャストして警告を隠す事がプログラムの改良だと思ってるアホとは会話しても無駄だな
555デフォルトの名無しさん (スッップ Sd43-f8s2)
2023/02/18(土) 06:50:44.99ID:FqZBdMS3d >>548
それだと多分うっとりしておしまいになるやつ
それだと多分うっとりしておしまいになるやつ
556デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 07:23:37.23ID:/Gi8XN260 ナルシストか
そうだろうな
そうだろうな
557デフォルトの名無しさん (ワッチョイ 1501-rc3u)
2023/02/18(土) 07:58:59.69ID:c4QxGie20 > キャストして警告を隠す事がプログラムの改良だと思ってるアホ
>>554 のことだなw
>>554 のことだなw
558デフォルトの名無しさん (ワッチョイ ed7c-aJXl)
2023/02/18(土) 09:42:41.72ID:U7F6huSe0 まだ直すと隠すの区別ついてないアホのためによくある例書いとくね
std::vector<Foo> foos = /* なんか入ってる */
for(int i = 0; i < GetLegacyLength(); ++i){
Hoge* item = GetLegacyItem(i);
if (i < foos.size()) // WARNING: signedとunsigned比較してんぞ
{ hoge(foos[i], item); }
else
{ fuga(item); }
}
アホの隠し方(1):脳死でif文のiかfoos.size()をキャストして隠蔽
アホの隠し方(2):脳死でiの型をsize_tに変更、そしてi < GetLegacyLength()でまた同じ警告が出て激怒「コンパイラの警告なんて無意味だ!」
正しい直し方:
なぜ長さを返すのに戻り値型がintなのか、GetLegacyLength()のマニュアルを見て仕様を確認する。
するとある条件でエラー値として-1を返すことがあると判明したので、
forループの前にGetLegacyLength()を取得するようにして、負の場合のエラー処理を追加した。
/*略*/
int len = GetLegacyLength();
if (len < 0) { /* エラー処理 */ }
else {
for(size_t i = 0; i < static_cast<size_t>(len); ++i) { //lenは0以上と確認済みなので安全にキャストできる
/*略*/
std::vector<Foo> foos = /* なんか入ってる */
for(int i = 0; i < GetLegacyLength(); ++i){
Hoge* item = GetLegacyItem(i);
if (i < foos.size()) // WARNING: signedとunsigned比較してんぞ
{ hoge(foos[i], item); }
else
{ fuga(item); }
}
アホの隠し方(1):脳死でif文のiかfoos.size()をキャストして隠蔽
アホの隠し方(2):脳死でiの型をsize_tに変更、そしてi < GetLegacyLength()でまた同じ警告が出て激怒「コンパイラの警告なんて無意味だ!」
正しい直し方:
なぜ長さを返すのに戻り値型がintなのか、GetLegacyLength()のマニュアルを見て仕様を確認する。
するとある条件でエラー値として-1を返すことがあると判明したので、
forループの前にGetLegacyLength()を取得するようにして、負の場合のエラー処理を追加した。
/*略*/
int len = GetLegacyLength();
if (len < 0) { /* エラー処理 */ }
else {
for(size_t i = 0; i < static_cast<size_t>(len); ++i) { //lenは0以上と確認済みなので安全にキャストできる
/*略*/
559デフォルトの名無しさん (ワッチョイ cbf2-D5Yo)
2023/02/18(土) 09:55:17.94ID:q7/8BBWI0 >>558
そもそもforの条件判定の部分で関数を呼ぶのは間違いだ
そもそもforの条件判定の部分で関数を呼ぶのは間違いだ
560デフォルトの名無しさん (ワッチョイ ed7c-aJXl)
2023/02/18(土) 10:01:12.90ID:U7F6huSe0 そこは間違いコード例だから意図的にそうしたんだけど
元がfor(int i = 0, len = GetLegacyLength(); i < len; ++i)だとしても話の本旨には関係ないよね?
お前が警告無視する時みたいに脳死で食いつくからそうなる
元がfor(int i = 0, len = GetLegacyLength(); i < len; ++i)だとしても話の本旨には関係ないよね?
お前が警告無視する時みたいに脳死で食いつくからそうなる
561デフォルトの名無しさん (スプッッ Sd43-avQ1)
2023/02/18(土) 10:30:22.39ID:Cp9I+Lmgd 警告を無視するのと握りつぶすのを混同しとるな
562デフォルトの名無しさん (ワッチョイ 1501-rc3u)
2023/02/18(土) 11:02:45.42ID:c4QxGie20563541 (ワッチョイ 1bad-BTrK)
2023/02/18(土) 12:30:58.62ID:XNyuFiWW0 >>551,552
いえいえ、わざわざ調べてもらってありがとうございます!
vectorのメモリ再配置によるアボート障害が発生したので、ハッシュのときも
同様のことがないか気になっていました。
とりあえずハッシュの場合はアボートすることはなさそうですね。
いえいえ、わざわざ調べてもらってありがとうございます!
vectorのメモリ再配置によるアボート障害が発生したので、ハッシュのときも
同様のことがないか気になっていました。
とりあえずハッシュの場合はアボートすることはなさそうですね。
564デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 12:34:06.96ID:/Gi8XN260565デフォルトの名無しさん (スフッ Sd43-1XUy)
2023/02/18(土) 12:47:29.66ID:jI/cauq9d >>558
BOOL GetMessage のことですね判ります
BOOL GetMessage のことですね判ります
566デフォルトの名無しさん (ワッチョイ 1501-rc3u)
2023/02/18(土) 12:49:33.03ID:c4QxGie20567デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 13:05:02.97ID:/Gi8XN260568デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 13:09:54.02ID:/Gi8XN260 なんかおまえさんの話し方なのか口癖なのかわからんが鼻につくんだよ
well-formedなコードに対する警告をどうするかなんて
おまえさんが感情的に喚いたからって誰も考えは変えないぞ
技術的な議論で誰も分かったと言って来ない現実を
おまえさんはDQN口調でどうかしようとしているようだが恥を知れ
well-formedなコードに対する警告をどうするかなんて
おまえさんが感情的に喚いたからって誰も考えは変えないぞ
技術的な議論で誰も分かったと言って来ない現実を
おまえさんはDQN口調でどうかしようとしているようだが恥を知れ
569デフォルトの名無しさん (スッププ Sd43-Kpzp)
2023/02/18(土) 13:12:16.36ID:WT5oC+Bfd 諭されて反論できなくなったから重箱の隅突き始めたよ
ダッサ
ダッサ
570デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 13:17:40.85ID:/Gi8XN260 あのforに違和感を覚えないセンスのやつに
上から目線でご高説いただいても
自分はああはなりたくないと思うだけだからな
上から目線でご高説いただいても
自分はああはなりたくないと思うだけだからな
571デフォルトの名無しさん (スッププ Sd43-Kpzp)
2023/02/18(土) 13:22:48.24ID:ldhLkjQ5d そうだな
悪い例として出されたコード例に向かって粗探ししてハイセンス気取るような恥ずかしいアホにはなりたくないものだ
悪い例として出されたコード例に向かって粗探ししてハイセンス気取るような恥ずかしいアホにはなりたくないものだ
572デフォルトの名無しさん (ワッチョイ ed7c-aJXl)
2023/02/18(土) 13:24:53.20ID:U7F6huSe0 ああいうダメコードを見つけ出すヒントとしてコンパイラ警告は使えるんだよっていう例を出したつもりだったんだけど難しかった?
573デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 13:28:32.75ID:/Gi8XN260 たまーに実在するからな、ああいうfor書くやつ
そういう手合いの言い訳はどいつが言っても同じ雑音でしかない
そういう手合いの言い訳はどいつが言っても同じ雑音でしかない
574デフォルトの名無しさん (ワッチョイ 1501-rc3u)
2023/02/18(土) 13:38:53.64ID:c4QxGie20 >>567
> 確認してないんだな?
> じゃあ一般論としてあんな変なコードをいつも書いているのか?
たった2行でよくこんなアホさが滲み出る文章書けるもんだな...
1行目もアホだと思うが2行目は脈絡もないのに「じゃあ」とかアホすぎる
こういう奴があの手のクソコードを書くんだろうなw
> 確認してないんだな?
> じゃあ一般論としてあんな変なコードをいつも書いているのか?
たった2行でよくこんなアホさが滲み出る文章書けるもんだな...
1行目もアホだと思うが2行目は脈絡もないのに「じゃあ」とかアホすぎる
こういう奴があの手のクソコードを書くんだろうなw
575デフォルトの名無しさん (スッププ Sd43-Kpzp)
2023/02/18(土) 13:40:46.05ID:U67S6hSRd 警告警察アンチ君がfor文警察になってしまった
576デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 13:44:53.99ID:/Gi8XN260 >>574
頭冷やせよ
特定の関数の仕様が理由でなくて
あんなコード書いたのかと言っている
おまえさんこそあの手のクソコードとやらはどれのことで
それをなぜ俺が書いていることになったのか説明できるか?
頭冷やせよ
特定の関数の仕様が理由でなくて
あんなコード書いたのかと言っている
おまえさんこそあの手のクソコードとやらはどれのことで
それをなぜ俺が書いていることになったのか説明できるか?
577デフォルトの名無しさん (スップ Sd03-f8s2)
2023/02/18(土) 13:45:46.69ID:8+fxePVqd >おまえさんの
ごめん無理
ごめん無理
578デフォルトの名無しさん (ワッチョイ e328-Qzdv)
2023/02/18(土) 13:58:29.96ID:5mGZNzlM0 低能警察に糞コードで反駁しようとしたら
収集がつかなくなったでござるの巻
警告を回避するためのコード変更がそんなに嫌ならコンパイラのオプションで警告を出さなくしたら良い……
収集がつかなくなったでござるの巻
警告を回避するためのコード変更がそんなに嫌ならコンパイラのオプションで警告を出さなくしたら良い……
579デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 14:07:37.26ID:/Gi8XN260 警告どころかコンパイラのバグを回避することだってある
むろん思い切り処理系に依存する内容となるが嫌とか好きとか言ってらんない
必要が出ればやるだけで感情の入る余地はない
どっかの思い上がった坊やの俺様節が五月蠅いだけ
黙ってくれれば俺にそれ以上の望みはない
むろん思い切り処理系に依存する内容となるが嫌とか好きとか言ってらんない
必要が出ればやるだけで感情の入る余地はない
どっかの思い上がった坊やの俺様節が五月蠅いだけ
黙ってくれれば俺にそれ以上の望みはない
580デフォルトの名無しさん (ワッチョイ e328-Qzdv)
2023/02/18(土) 14:12:09.71ID:5mGZNzlM0 警告をOFFにしたら警告を回避しようとしてバグを仕込んでしまう事故は確実に防げる
ていうか本質論としてはそもそも警告に頼らねばプログラミングもできない程度の低能はそもそもプログラミングをすべきではないという話、
これは反駁のしようが無い
ていうか本質論としてはそもそも警告に頼らねばプログラミングもできない程度の低能はそもそもプログラミングをすべきではないという話、
これは反駁のしようが無い
581デフォルトの名無しさん (ワッチョイ 1501-rc3u)
2023/02/18(土) 14:13:36.72ID:c4QxGie20582デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 14:15:48.28ID:/Gi8XN260 はいはい「俺じゃない」のね
IDコロコロする人とは話にならないな
IDコロコロする人とは話にならないな
583デフォルトの名無しさん (ワッチョイ ed7c-aJXl)
2023/02/18(土) 14:32:47.85ID:U7F6huSe0 なんかすまんな
何気なく書いたダメコードのそれっぽいfor文がこんなにキチガイの琴線を刺激するとは思わなかった
何気なく書いたダメコードのそれっぽいfor文がこんなにキチガイの琴線を刺激するとは思わなかった
584デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 14:35:25.61ID:/Gi8XN260 559の指摘にあの返事だからな
うわー香ばしいと思ったのよ
うわー香ばしいと思ったのよ
585デフォルトの名無しさん (ワッチョイ ed7c-aJXl)
2023/02/18(土) 14:36:45.33ID:U7F6huSe0 黙れキチガイ
586デフォルトの名無しさん (ワッチョイ e328-Qzdv)
2023/02/18(土) 14:47:19.84ID:5mGZNzlM0 ↑うんこ
587デフォルトの名無しさん (ワッチョイ ed1f-EWEl)
2023/02/18(土) 14:52:57.45ID:aA0Lr1WO0588デフォルトの名無しさん (ワッチョイ 755f-rVJW)
2023/02/18(土) 15:00:31.81ID:AfjXtSgB0 forやwhileの条件でstring::sizeを呼んでるけどダメ?
589デフォルトの名無しさん (ワッチョイ cbf2-D5Yo)
2023/02/18(土) 15:01:44.62ID:q7/8BBWI0 >>588
意図したものならまぁいいけど、後々のことも考えると普通は禁止
意図したものならまぁいいけど、後々のことも考えると普通は禁止
590デフォルトの名無しさん (ワッチョイ e328-Qzdv)
2023/02/18(土) 15:12:52.01ID:5mGZNzlM0 ループ内で変更しないstd::stringのstd::string::size()なら
コンパイラが頑張ってギリ括り出し最適化をしてくれるかもしれんがコンパイラに優しくない……
ていうか以降値が変化しないことがわかっているメンバ変数やグローバル変数は
intやsize_tみたいな単純型ならさっさとローカル変数にコピーした方がメモリからのロード命令削減のために良い
実体(メンバ変数やグローバル変数)と同じ値を保持するローカル変数(エイリアス)があったら混乱するというのは
そんな関数が(担当者の脳のキャパに比べて)デカすぐる……
コンパイラが頑張ってギリ括り出し最適化をしてくれるかもしれんがコンパイラに優しくない……
ていうか以降値が変化しないことがわかっているメンバ変数やグローバル変数は
intやsize_tみたいな単純型ならさっさとローカル変数にコピーした方がメモリからのロード命令削減のために良い
実体(メンバ変数やグローバル変数)と同じ値を保持するローカル変数(エイリアス)があったら混乱するというのは
そんな関数が(担当者の脳のキャパに比べて)デカすぐる……
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★10 [ぐれ★]
- 【日本大使館】中国在留邦人は安全確保を [ぐれ★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 中国で「クレしん」公開延期 対日報復、エンタメに波及 [蚤の市★]
- おで、反日分子。日中対立を利用して日本政府を苦しめることに成功。かかったなネトウヨ!! [805596214]
- ニートしかいない時間ってマジでつまんないよな
- メスイキして快感が身体の内側に残ってる間に寝るのが気持ちいい
- 🖐( -᷄ὢ)俺がこの世で最も欲するものは>>2の>>3だ……
- フードデリバリー配達員ぼく毎日他の配達員とスタートダッシュバトルしてる🥺
- 中国人「昔の仇を取る」「高市は狂ってる。制裁すればいい」「高市はことの重大さを認識してない」 [931948549]
