!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:DPUEZfMS0529デフォルトの名無しさん (スップ 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みたいな単純型ならさっさとローカル変数にコピーした方がメモリからのロード命令削減のために良い
実体(メンバ変数やグローバル変数)と同じ値を保持するローカル変数(エイリアス)があったら混乱するというのは
そんな関数が(担当者の脳のキャパに比べて)デカすぐる……
591デフォルトの名無しさん (ワッチョイ 1501-rc3u)
2023/02/18(土) 15:14:50.51ID:c4QxGie20592デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 15:26:22.78ID:/Gi8XN260 だから他人に指図すんな
警告をどうしようが回線をどうしようが
おまえさんに言われる筋合いはない
依頼心の強い甘ったれ野郎か?
警告をどうしようが回線をどうしようが
おまえさんに言われる筋合いはない
依頼心の強い甘ったれ野郎か?
593デフォルトの名無しさん (スッププ Sd43-Kpzp)
2023/02/18(土) 15:32:46.92ID:3QwlbD5xd 依頼心の塊はこんなゴミ溜めでイキリ倒さないと自分を保てないお前さんの方だろ
for文警察出来て楽しかったでちゅか?
for文警察出来て楽しかったでちゅか?
594デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 15:37:11.41ID:/Gi8XN260 こんなゴミ溜めでイキリ倒さないと自分を保てない → 依頼心が強い
全くつながらなくて説得力ないね
子供言葉にお似合いのしょーもない言い返しだなw
全くつながらなくて説得力ないね
子供言葉にお似合いのしょーもない言い返しだなw
595デフォルトの名無しさん (スッププ Sd43-Kpzp)
2023/02/18(土) 15:46:04.40ID:DOhL3WBHd j「コンパイラの警告は全てゴミだから無視するべき、なぜなら>>558のfor文がダサいから」なんて主張をしてる奴への罵倒になぜ論理性が求められるのか分からない
バカアホマヌケ依頼心野郎で充分だろお前もそうなんだし
バカアホマヌケ依頼心野郎で充分だろお前もそうなんだし
596デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 15:55:18.34ID:/Gi8XN260 へー、この流れをそう読んでいたのか
我ながらひどく買い被りすぎてたもんだ
そりゃー話になるわけないよな
我ながらひどく買い被りすぎてたもんだ
そりゃー話になるわけないよな
597デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 15:58:59.97ID:/Gi8XN260 警告は内容によっては無視する場合があると言ったのを
全て無視すると改変してまで言い返さないと気が済まないのか
子供言葉にry
全て無視すると改変してまで言い返さないと気が済まないのか
子供言葉にry
598デフォルトの名無しさん (ワッチョイ 4501-oojT)
2023/02/18(土) 16:00:51.47ID:hE3AXWNH0 そのうち惰性で内容を吟味せずに無視するようになりそうなので
がんばって警告は消してくスタイル
がんばって警告は消してくスタイル
599デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 16:02:45.49ID:/Gi8XN260 無視してたらコンパイラのバージョンが上がって警告しなくなったやつもあるな
600デフォルトの名無しさん (スッププ Sd43-Kpzp)
2023/02/18(土) 16:04:23.86ID:kbl+yJpad なるほど558は警告を無視する場合な訳ね、理由はfor文がダサいからw
やっぱこのチンパンジーオモロイわ
何か言い返してくるだろうけど、畜生の鳴き声に論理性なんて求めないから本能剥き出してくれていいよ
かわいいね
やっぱこのチンパンジーオモロイわ
何か言い返してくるだろうけど、畜生の鳴き声に論理性なんて求めないから本能剥き出してくれていいよ
かわいいね
601デフォルトの名無しさん (ワッチョイ 1501-rc3u)
2023/02/18(土) 16:05:46.49ID:c4QxGie20 >>592
IDコロコロに触れられず顔真っ赤w
IDコロコロに触れられず顔真っ赤w
602デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 16:13:38.69ID:/Gi8XN260 for文の話で脳死が出てくる自己紹介な人だから
for文についての指摘が警告の話に短絡してしまったわけか
治してあげんの面倒臭いから放置するぜ
for文についての指摘が警告の話に短絡してしまったわけか
治してあげんの面倒臭いから放置するぜ
603デフォルトの名無しさん (スッププ Sd43-Kpzp)
2023/02/18(土) 16:20:07.00ID:QwP9/dM9d 凄い、>>602が何一つ意味が分からない
本当に猿がランダムな日本語もどき書いてたんだな感動した
本当に猿がランダムな日本語もどき書いてたんだな感動した
604デフォルトの名無しさん (ワッチョイ 3d12-+91A)
2023/02/18(土) 16:31:14.25ID:/Gi8XN260 忘れてるかも知れんがここは全世界から閲覧かのうな掲示板だよ
おまえさんの発言見てんの俺だけじゃないからね
第三者にクスクスされる文面には気をつけたら?
おまえさんの発言見てんの俺だけじゃないからね
第三者にクスクスされる文面には気をつけたら?
605デフォルトの名無しさん (ワッチョイ fd10-h1Ka)
2023/02/18(土) 16:43:35.96ID:xVxS8guk0 自覚あったのに驚き。
606デフォルトの名無しさん (ワッチョイ 1501-rc3u)
2023/02/18(土) 16:47:29.84ID:c4QxGie20 顔真っ赤な人はクスクスどころかドン引きされてるみたいだけどねw
607デフォルトの名無しさん (オッペケ Sre1-ywjO)
2023/02/18(土) 17:27:32.13ID:GQ7TKK8Hr 小杉の煽りが下手すぎてつまらん
608デフォルトの名無しさん (オイコラミネオ MM91-4mn0)
2023/02/18(土) 22:16:29.02ID:tx6k3oAyM >>563
unorderd_map のテストプログラムを作り、デバッガのステップ実行で、
ソースを調査することを進めます。デバッガを併用すると、単純にテキスト
エディタでソースを眺めるより楽です。
わざとrehashされる条件を作っておいて、*it が返すポインタが変化してないことを
確認したりもしてみてください。
unorderd_map のテストプログラムを作り、デバッガのステップ実行で、
ソースを調査することを進めます。デバッガを併用すると、単純にテキスト
エディタでソースを眺めるより楽です。
わざとrehashされる条件を作っておいて、*it が返すポインタが変化してないことを
確認したりもしてみてください。
609デフォルトの名無しさん (オイコラミネオ MM91-4mn0)
2023/02/18(土) 22:20:44.13ID:tx6k3oAyM >>608
誤: ソースを調査することを進めます。
正: ソースを調査することを薦めます。
誤: わざとrehashされる条件を作っておいて、*it が返すポインタが変化してないことを
正: わざとrehashされる条件を作っておいて、&*it が返すポインタが変化してないことを
unorderd_map<K,V>::iterator it に対して *it が V 型、&*it が V* 型ですね、確か。
誤: ソースを調査することを進めます。
正: ソースを調査することを薦めます。
誤: わざとrehashされる条件を作っておいて、*it が返すポインタが変化してないことを
正: わざとrehashされる条件を作っておいて、&*it が返すポインタが変化してないことを
unorderd_map<K,V>::iterator it に対して *it が V 型、&*it が V* 型ですね、確か。
610デフォルトの名無しさん (スップ Sd03-ivXK)
2023/02/19(日) 01:04:05.04ID:j1lo6n64d 警告警察
goto警察
例外警察
いろいろいるね
goto警察
例外警察
いろいろいるね
611デフォルトの名無しさん (ワッチョイ 755f-rVJW)
2023/02/19(日) 02:44:27.50ID:XBUFkCxR0 本題から逸れた細かいことばかり言う人って他人から相談されなくなるよね
とりあえず本題に触れてあげたほうがいいと思う
とりあえず本題に触れてあげたほうがいいと思う
612デフォルトの名無しさん (オッペケ Sre1-/VjF)
2023/02/20(月) 10:46:49.72ID:4EtRnxBTr >>607
小杉?
小杉?
613デフォルトの名無しさん (アウアウエー Sa13-o4eO)
2023/02/20(月) 21:38:28.53ID:bUrAUmQja614デフォルトの名無しさん (ワッチョイ 1bba-/+FQ)
2023/02/20(月) 23:51:57.53ID:7qph/rf50 >>610
警察警察もじきにあらわれるでしょう
警察警察もじきにあらわれるでしょう
615デフォルトの名無しさん (スップ Sd03-f8s2)
2023/02/21(火) 06:19:53.28ID:lGumlqGfd >>613
なんで?
なんで?
616デフォルトの名無しさん (ワッチョイ 23ad-TXHw)
2023/02/23(木) 12:36:30.12ID:v5/05dNG0 >>613
セーブ警察(定期的に保存しない者を取り締まる人)ですね
セーブ警察(定期的に保存しない者を取り締まる人)ですね
617デフォルトの名無しさん (ワッチョイ 7a28-SAq/)
2023/02/25(土) 09:42:29.51ID:EkXmct6Y0 >>616
西部警察が東部を取り締まるみたいなロジック何それ……
西部警察が東部を取り締まるみたいなロジック何それ……
618デフォルトの名無しさん (ワッチョイ b17c-SWHG)
2023/02/25(土) 10:26:54.98ID:+hyOJw/l0 まともなエディタなら自動セーブ機能くらいあるだろ
メモ帳で開発してんの?
メモ帳で開発してんの?
619デフォルトの名無しさん (ワッチョイ daad-OFS/)
2023/02/25(土) 10:42:44.98ID:FxeL/Fyd0 池袋駅は東口に西武デパートあるから問題ない
そして西口に東武
そして西口に東武
620デフォルトの名無しさん (ワッチョイ 7a28-SAq/)
2023/02/25(土) 12:32:14.92ID:EkXmct6Y0 質問なのですが<random>の疑似乱数クラス(いっぱいある)って共通の基底クラスとかインターフェースとか無
いの?
乱数のseedをプログラムの中で1回だけ与えて初期化した疑似乱数オブジェクトを
関数foo()に渡したりして使いまわしたいのだけどfoo()は特定の疑似乱数クラスに依存させたくないという場合、
foo()を疑似乱数クラスTを受け取るテンプレートで実装するとか自作のインターフェースで疑似乱数クラスをwrapする以外に他無し?
それともそもそもそういうことはすべきではない(関数の中で都度乱数のseedをプログラムの中で1回だけ与えて初期化した疑似乱数オブジェクトを作れ
と神はお命じなのやろうか……
いの?
乱数のseedをプログラムの中で1回だけ与えて初期化した疑似乱数オブジェクトを
関数foo()に渡したりして使いまわしたいのだけどfoo()は特定の疑似乱数クラスに依存させたくないという場合、
foo()を疑似乱数クラスTを受け取るテンプレートで実装するとか自作のインターフェースで疑似乱数クラスをwrapする以外に他無し?
それともそもそもそういうことはすべきではない(関数の中で都度乱数のseedをプログラムの中で1回だけ与えて初期化した疑似乱数オブジェクトを作れ
と神はお命じなのやろうか……
621デフォルトの名無しさん (ワッチョイ 7a28-SAq/)
2023/02/25(土) 12:35:52.57ID:EkXmct6Y0 訂正orz、
誤: 自作のインターフェースで疑似乱数クラスをwrapする
正: 自作のインターフェースで疑似乱数クラスとDistributionクラスをセットでwrapする
<random>はテンプレート全振りすぎてオブジェクト指向的でない
ヤヴァイ……
誤: 自作のインターフェースで疑似乱数クラスをwrapする
正: 自作のインターフェースで疑似乱数クラスとDistributionクラスをセットでwrapする
<random>はテンプレート全振りすぎてオブジェクト指向的でない
ヤヴァイ……
622デフォルトの名無しさん (ワッチョイ 76f2-l+fH)
2023/02/25(土) 12:52:10.86ID:k1cc/WLc0623デフォルトの名無しさん (ワッチョイ 0d01-PJrl)
2023/02/25(土) 13:02:15.45ID:sAnrfOr80 >>620
>関数foo()に渡したりして使いまわしたいのだけど
>foo()は特定の疑似乱数クラスに依存させたくないという場合、
foo()を関数テンプレートにし疑似乱数クラスをテンプレート引数とする
じゃだめなの?
>関数foo()に渡したりして使いまわしたいのだけど
>foo()は特定の疑似乱数クラスに依存させたくないという場合、
foo()を関数テンプレートにし疑似乱数クラスをテンプレート引数とする
じゃだめなの?
624デフォルトの名無しさん (ワッチョイ 7a28-SAq/)
2023/02/25(土) 13:06:02.14ID:EkXmct6Y0 >foo()を関数テンプレートにし疑似乱数クラスをテンプレート引数とする
>じゃだめなの?
通常はそれでも良いが
foo()が1万行ある関数だったとしてヘッダファイルに書くのかっていうか、
なんで疑似乱数を使うことと、書き方がテンプレートに制限されてしまうことが相関されねばならないのか
疑問に思わないのかそうか、、、
>じゃだめなの?
通常はそれでも良いが
foo()が1万行ある関数だったとしてヘッダファイルに書くのかっていうか、
なんで疑似乱数を使うことと、書き方がテンプレートに制限されてしまうことが相関されねばならないのか
疑問に思わないのかそうか、、、
625デフォルトの名無しさん (ワッチョイ 7a28-SAq/)
2023/02/25(土) 13:19:38.23ID:EkXmct6Y0 んまー現実解としてはどうせstd::mt19937をstd::random_deviceで初期化するような使い方しかしないのだろうから
using rand_t = std::random_device;
using psrand_t = std::mt19937;
class FooTest : public ::testing::Test {
protected:
psrand_t m_psrand;
public:
FooTest() : m_psrand(rand_t()()) { }
};
ぐらいで過度の抽象化はやめておいた方が良いのかもしれん……
(別名にする、程度にしておけば疑似乱数クラスの選択とDistributionクラスの選択を分離できる
using rand_t = std::random_device;
using psrand_t = std::mt19937;
class FooTest : public ::testing::Test {
protected:
psrand_t m_psrand;
public:
FooTest() : m_psrand(rand_t()()) { }
};
ぐらいで過度の抽象化はやめておいた方が良いのかもしれん……
(別名にする、程度にしておけば疑似乱数クラスの選択とDistributionクラスの選択を分離できる
626デフォルトの名無しさん (ワッチョイ 615f-+MOc)
2023/02/25(土) 13:21:23.18ID:a4UZTu4a0 標準ライブラリのテンプレートもみんなヘッダに書いてるんだしいらない疑問だと思うが……
使ったことは無いけど、気にするならC++20モジュールとして書いてみるといいかもしれない
使ったことは無いけど、気にするならC++20モジュールとして書いてみるといいかもしれない
627デフォルトの名無しさん (ワッチョイ 0d01-PJrl)
2023/02/25(土) 13:25:58.19ID:sAnrfOr80628デフォルトの名無しさん (ワッチョイ 9d5f-XTx3)
2023/02/25(土) 15:15:43.98ID:0MW4CaX30■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「それでも、お米は高いと感じますか?」JA広告に批判殺到 コメ価格18週ぶり下落も、わずか19円…備蓄米の流通システムに潜む課題 [ぐれ★]
- 反撃の中居正広、一世一代の大勝負へ 元フジ女性アナとは「合意の上での性行為だった」と認識 ★16 [Ailuropoda melanoleuca★]
- 【埼玉】「大丈夫、と言ったのでその場から離れた」 男児4人重軽傷のひき逃げ事件で車を運転していた42歳の中国籍の男逮捕 三郷市 [ぐれ★]
- 機動戦士ガンダム最新作『GQuuuuuuX(ジークアクス)』乃木坂46ネタで炎上 監督の鶴巻和哉氏は乃木坂ファン ★4 [Anonymous★]
- 【MLB】大谷翔平 自身の記念日に6年ぶり6タコ ド軍は痛恨逆転負け&また救援陣に負傷者 [このもん★]
- 【札幌】会社内のトイレにスマートフォンを設置…女性の性的な部位を撮影した男(34)を逮捕 [シャチ★]
- 日本人、「文章が読めない」事が発覚。アレクサンドラ構文に手も足も出ない。 [425744418]
- 👊🥺ゆめちゃんは出入り禁止のお🏡✨
- 【速報】Amazon「パールライス(国産米・5kg)」を3868円で販売! [201193242]
- 【実況】博衣こよりのえちえちネタバレが激しすぎるRPG6🧪
- 【実況】博衣こよりのえちえちネタバレが激しすぎるRPG5🧪
- 【朗報】暇空茜の勝利条件、『執行猶予なら勝ち』に決まるwwwwwwwww [833348454]