!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:DPUEZfMS0428デフォルトの名無しさん (ガックシ 066f-p0Ho)
2023/02/15(水) 16:15:28.85ID:vrVppx/z6429デフォルトの名無しさん (ワッチョイ 1ecf-8lmq)
2023/02/15(水) 17:54:06.96ID:jBF4rRuI0 55行目にchildObj.reserve(2);を入れろ
また、人にコードを示すなら本質的に関連のない警告が出ない状態のコードをまず貼れ
また、人にコードを示すなら本質的に関連のない警告が出ない状態のコードをまず貼れ
430デフォルトの名無しさん (ワッチョイ 8bf0-/uvd)
2023/02/15(水) 18:19:34.79ID:M3Yzq8DS0 警告警察うざい
警告を消す為にバグを仕込むヤツを何度も見てきた
警告を消す為にバグを仕込むヤツを何度も見てきた
431デフォルトの名無しさん (ワッチョイ 8bf0-/uvd)
2023/02/15(水) 18:20:49.58ID:M3Yzq8DS0 警告が出るかどうかは環境による
C++のルールに従っているなら警告は無視
C++のルールに従っているなら警告は無視
432デフォルトの名無しさん (ワッチョイ 0f5f-A0Hd)
2023/02/15(水) 18:29:25.36ID:QsOS31DQ0433デフォルトの名無しさん (テテンテンテン MMc6-7nFJ)
2023/02/15(水) 19:15:06.12ID:bwjUnWHEM >>426
バグを調査するときの重要な考え方として「バグが確実に再現する条件/確実に発生しない条件を明確化する」というのがある。
この場合も、まずはバグ「メソッドrootsを呼んだときには親オブジェクトへのポインタが訳の分からないアドレスを指すことがある」の条件を明確化するために「訳の分からないアドレスはどの変数に入っているのか」「訳の分からないアドレスはどういうバケツリレーで渡されているのか」「訳の分からないアドレスは最初にどこにあるのか」あたりを明確化するのがよろしいかと。
そもそも>>426で「メソッドrootsを呼んだときには親オブジェクトへのポインタが訳の分からないアドレスを指すことがある」は再現するの?
バグを調査するときの重要な考え方として「バグが確実に再現する条件/確実に発生しない条件を明確化する」というのがある。
この場合も、まずはバグ「メソッドrootsを呼んだときには親オブジェクトへのポインタが訳の分からないアドレスを指すことがある」の条件を明確化するために「訳の分からないアドレスはどの変数に入っているのか」「訳の分からないアドレスはどういうバケツリレーで渡されているのか」「訳の分からないアドレスは最初にどこにあるのか」あたりを明確化するのがよろしいかと。
そもそも>>426で「メソッドrootsを呼んだときには親オブジェクトへのポインタが訳の分からないアドレスを指すことがある」は再現するの?
434デフォルトの名無しさん (ワッチョイ 0f5f-A0Hd)
2023/02/15(水) 19:33:01.86ID:QsOS31DQ0 ああemplace_backしたときにchildObjが再確保されてparentが古いObjを指したままになってるのか
だから>>429が正解ですね
だから>>429が正解ですね
435デフォルトの名無しさん (ワッチョイ 2bf0-8lmq)
2023/02/15(水) 19:57:27.07ID:LxP0k8m20 謎の上から目線で質問するやし多くね
436デフォルトの名無しさん (スッップ Sdaa-zpWe)
2023/02/15(水) 20:25:17.26ID:sKFuDIvBd437デフォルトの名無しさん (ワッチョイ ca7c-D0vN)
2023/02/15(水) 20:43:32.06ID:aDsLy0wQ0 こんなプログラム見ていると頭痛くなるw
438デフォルトの名無しさん (ワッチョイ a712-NLDk)
2023/02/15(水) 21:25:47.83ID:SA6Um8/R0 >>430
ほんこれ
ほんこれ
439デフォルトの名無しさん (ワッチョイ 9ebb-p0Ho)
2023/02/15(水) 22:04:10.79ID:3ATKFMkE0 >>437
>こんなプログラム見ていると頭痛くなるw
誠に申し訳ない。
なんせ、近くにメンターがいないので自力でなんとかせにゃならんのです。
既にいくつか助言をいただいているので、もう少し頑張ってみます。
ゆるゆる見守ってくださると嬉しいです。
引き続きよろしくお願いいたします。
>こんなプログラム見ていると頭痛くなるw
誠に申し訳ない。
なんせ、近くにメンターがいないので自力でなんとかせにゃならんのです。
既にいくつか助言をいただいているので、もう少し頑張ってみます。
ゆるゆる見守ってくださると嬉しいです。
引き続きよろしくお願いいたします。
440デフォルトの名無しさん (ワッチョイ ff9c-nJVz)
2023/02/15(水) 22:07:21.36ID:k8KlMP7i0 なんでこんなに偉そうなの
441デフォルトの名無しさん (ワッチョイ 9ebb-p0Ho)
2023/02/15(水) 22:10:23.23ID:3ATKFMkE0 >>431
環境はvisual studio pro 2019で、皆様のご助言を仰ぐためにwandboxに貼りました。
警告に関しては、あまり気にせずコーディングしています‥
よくない癖、ですよね(汗)
環境はvisual studio pro 2019で、皆様のご助言を仰ぐためにwandboxに貼りました。
警告に関しては、あまり気にせずコーディングしています‥
よくない癖、ですよね(汗)
442デフォルトの名無しさん (ワッチョイ 9ebb-p0Ho)
2023/02/15(水) 22:13:56.75ID:3ATKFMkE0443デフォルトの名無しさん (ワッチョイ d301-sPc2)
2023/02/15(水) 22:14:34.95ID:eQXhj1Qw0444デフォルトの名無しさん (ワッチョイ 9ebb-p0Ho)
2023/02/15(水) 22:18:19.81ID:3ATKFMkE0445デフォルトの名無しさん (ワッチョイ 2b69-t1ev)
2023/02/15(水) 22:35:45.35ID:3Nk0h2mJ0 警告は潰さなければならない
警告が出たら検討しなければならない
今回の様に思いっ切りバグを示していることがあるから
検討した結果無視していいと判断しても、警告自体は消さなければならない
そのままじゃ次のビルドでまた出て、どんどん溜まって「これ検討したんだっけ??」ってなるから
この警告消しは#pragma warningでいい
警告が出たら検討しなければならない
今回の様に思いっ切りバグを示していることがあるから
検討した結果無視していいと判断しても、警告自体は消さなければならない
そのままじゃ次のビルドでまた出て、どんどん溜まって「これ検討したんだっけ??」ってなるから
この警告消しは#pragma warningでいい
446デフォルトの名無しさん (ワッチョイ 0710-8lmq)
2023/02/15(水) 22:42:19.58ID:YqKefIHG0 警告消すのにバグ仕込むスキルの人なら機能追加してもバグ仕込むだろ
447デフォルトの名無しさん (ワッチョイ 2355-RnMg)
2023/02/15(水) 23:06:20.39ID:Xq18TORR0 ここは20年前のままで安心した。久しぶりにC++読んだけど、普通に読めたわ。
どうでもよい会話をして、ろくに進まない感じ流石です。
どうでもよい会話をして、ろくに進まない感じ流石です。
448デフォルトの名無しさん (ワッチョイ 835f-uIvN)
2023/02/16(木) 00:34:35.79ID:G6Y1BfCz0 じゃあまた20年後な
449デフォルトの名無しさん (ワッチョイ ea6a-0SWJ)
2023/02/16(木) 00:46:09.85ID:N10j/iiy0450デフォルトの名無しさん (ワッチョイ 0f5f-RnuH)
2023/02/16(木) 02:31:44.69ID:PGUS078z0 >>444
問題が発生したら乱数のシードをそのとき使った値で固定する
そしてデバッガの使い方を覚える
https://learn.microsoft.com/ja-jp/visualstudio/debugger/getting-started-with-the-debugger-cpp?view=vs-2022
問題が発生したら乱数のシードをそのとき使った値で固定する
そしてデバッガの使い方を覚える
https://learn.microsoft.com/ja-jp/visualstudio/debugger/getting-started-with-the-debugger-cpp?view=vs-2022
451デフォルトの名無しさん (ワッチョイ a712-NLDk)
2023/02/16(木) 07:13:21.97ID:kLJI764s0 > この警告消しは#pragma warningでいい
警告警察の主張の本質がこれ
警告警察の主張の本質がこれ
452デフォルトの名無しさん (ワッチョイ 8bf0-/uvd)
2023/02/16(木) 07:57:43.18ID:ZOPwX+PA0 www
453デフォルトの名無しさん (テテンテンテン MMc6-7nFJ)
2023/02/16(木) 08:05:05.35ID:u8Mt8J3eM >>443
こういうやつが居るから、管理側は「勝手に警告を無視できないRustにしよう」と言い始めるんだよねぇ。
実際、コードの精査の難しい大規模プロジェクトとかだと、無能が成果を出せないという意味で効果的だし。
こういうやつが居るから、管理側は「勝手に警告を無視できないRustにしよう」と言い始めるんだよねぇ。
実際、コードの精査の難しい大規模プロジェクトとかだと、無能が成果を出せないという意味で効果的だし。
454デフォルトの名無しさん (ワッチョイ 8bf0-/uvd)
2023/02/16(木) 08:13:16.28ID:ZOPwX+PA0 設計がまともかどうか判断出来ない無能が警告を気にする
455デフォルトの名無しさん (ワッチョイ d301-sPc2)
2023/02/16(木) 08:15:20.48ID:LB1U3BvE0456デフォルトの名無しさん (ワッチョイ 8bf0-/uvd)
2023/02/16(木) 08:17:32.72ID:ZOPwX+PA0 アホが検討した結果など無意味
457デフォルトの名無しさん (ワッチョイ d301-sPc2)
2023/02/16(木) 08:20:22.98ID:LB1U3BvE0458デフォルトの名無しさん (テテンテンテン MMc6-7nFJ)
2023/02/16(木) 08:20:39.33ID:u8Mt8J3eM459デフォルトの名無しさん (ワッチョイ 8bf0-/uvd)
2023/02/16(木) 08:24:11.83ID:ZOPwX+PA0 別の環境に移植して警告が何千個も出て来たら
わざわざ全部消すの?
アホじゃね?
わざわざ全部消すの?
アホじゃね?
460デフォルトの名無しさん (ワッチョイ 8bf0-/uvd)
2023/02/16(木) 08:28:56.23ID:ZOPwX+PA0 「検討しました」は解析ツールのコメントに残す物
わざわざコードを変えて消す物じゃない
わざわざコードを変えて消す物じゃない
461デフォルトの名無しさん (ワッチョイ d301-sPc2)
2023/02/16(木) 10:01:01.26ID:LB1U3BvE0462デフォルトの名無しさん (ワッチョイ 835f-uIvN)
2023/02/16(木) 10:03:35.75ID:G6Y1BfCz0 メモリがわからないままC++してもいずれ破綻するのは目に見えてるからな…
shared_ptrを使えば再確保によるポインタの無効化は回避できるかもしれんけど、
そしたら今度は循環参照にはまりそう
shared_ptrを使えば再確保によるポインタの無効化は回避できるかもしれんけど、
そしたら今度は循環参照にはまりそう
463デフォルトの名無しさん (ワッチョイ 9ebb-p0Ho)
2023/02/16(木) 11:32:34.13ID:u/aa82YP0464デフォルトの名無しさん (ワッチョイ 9ebb-p0Ho)
2023/02/16(木) 11:42:26.72ID:u/aa82YP0 >>458
>あと「訳分からないアドレス」というレベルなら生ポインタは使わない方がいいので、すべてshared_ptrに置き替える。
もともとC言語を触っていたので生ポの方が好きなんです。
でも、スマポに統一すべし、という意見には賛成なので、その様に直すつもりではおりますが、
enable_shared_from_thisを継承せよ
とか、一方で
コンストラクタ内でshared_from_this()は使うな
とか、色々クリアせねばならない問題もあり、解決には相当な勉強が必要そうで、時間がかかる見込みです。
>あと「訳分からないアドレス」というレベルなら生ポインタは使わない方がいいので、すべてshared_ptrに置き替える。
もともとC言語を触っていたので生ポの方が好きなんです。
でも、スマポに統一すべし、という意見には賛成なので、その様に直すつもりではおりますが、
enable_shared_from_thisを継承せよ
とか、一方で
コンストラクタ内でshared_from_this()は使うな
とか、色々クリアせねばならない問題もあり、解決には相当な勉強が必要そうで、時間がかかる見込みです。
465デフォルトの名無しさん (スプッッ Sd4a-nNBs)
2023/02/16(木) 12:24:54.96ID:zXNtK8a2d 自分の頭で考えることを放棄してるやつほど
偉そうにしてるやつの言うがままに洗脳されやすい
偉そうにしてるやつの言うがままに洗脳されやすい
466デフォルトの名無しさん (テテンテンテン MMc6-7nFJ)
2023/02/16(木) 12:25:33.04ID:OOEMlbNYM467デフォルトの名無しさん (ワッチョイ 9ebb-p0Ho)
2023/02/16(木) 12:43:03.84ID:u/aa82YP0 >>466
C++って何だかカッコいいじゃないですか。
noexceptとかC言語な人には無縁なキーワードが盛り沢山だし、いかにもアタマ良さそうな雰囲気がたまらんのです。
C言語でできることはC++でもできるようになりたいな、とゆるゆる独学している次第です。
C++って何だかカッコいいじゃないですか。
noexceptとかC言語な人には無縁なキーワードが盛り沢山だし、いかにもアタマ良さそうな雰囲気がたまらんのです。
C言語でできることはC++でもできるようになりたいな、とゆるゆる独学している次第です。
468デフォルトの名無しさん (ワッチョイ 2bf0-8lmq)
2023/02/16(木) 13:36:26.42ID:juZ9Em/90 人が書いた部分で警告大量に出るから無視してるんだが
お前ら一人で書いてんのか?
お前ら一人で書いてんのか?
469デフォルトの名無しさん (ワッチョイ a712-NLDk)
2023/02/16(木) 13:38:12.19ID:kLJI764s0 一番大事なものをちゃんと持ってるな
応援するぜ
応援するぜ
470デフォルトの名無しさん (ワッチョイ a712-NLDk)
2023/02/16(木) 13:39:41.99ID:kLJI764s0471デフォルトの名無しさん (ワッチョイ 835f-uIvN)
2023/02/16(木) 13:54:28.24ID:G6Y1BfCz0 >>464
そもそもコンストラクタで子供のインスタンスを作らないほうがいいんじゃね?
そもそもコンストラクタで子供のインスタンスを作らないほうがいいんじゃね?
472デフォルトの名無しさん (ワッチョイ 2b69-t1ev)
2023/02/16(木) 14:00:08.48ID:UCNi870E0 何のために警告出させてんだよ
端からガン無視する気なら、コンパイルオプションで警告止めちゃえよ
端からガン無視する気なら、コンパイルオプションで警告止めちゃえよ
473デフォルトの名無しさん (ワントンキン MMfa-EB70)
2023/02/16(木) 14:05:54.88ID:gmYGasSwM まさにコレでしたって結局どう直したの?
474デフォルトの名無しさん (ワッチョイ 835f-uIvN)
2023/02/16(木) 14:30:11.87ID:G6Y1BfCz0 あとchildObjから削除しないなら、ポインタを辿って探索せんでも、
シーケンシャルナンバーでランダムアクセスすればいいじゃんねぇ
シーケンシャルナンバーでランダムアクセスすればいいじゃんねぇ
475デフォルトの名無しさん (ワッチョイ 835f-uIvN)
2023/02/16(木) 14:32:02.54ID:G6Y1BfCz0 ああ、インスタンスデータなんか…すまん忘れてくれw
476はちみつ餃子 ◆8X2XSCHEME (ワッチョイ eb3e-t1ev)
2023/02/16(木) 15:58:03.67ID:INPRljPt0 >>466
「だけでも」っていってもそれに連なる諸々の概念がひっついてるから部分的にやるのは難しいんだよな。
C++ のスマートポインタはクラスとして実装されてるから C++ の型システム抜きに
スマートポインタだけ C に移植ってわけにはいかないし、
参照の振る舞いを説明するには値カテゴリを増やして場合分けしなきゃならんし。
「だけでも」っていってもそれに連なる諸々の概念がひっついてるから部分的にやるのは難しいんだよな。
C++ のスマートポインタはクラスとして実装されてるから C++ の型システム抜きに
スマートポインタだけ C に移植ってわけにはいかないし、
参照の振る舞いを説明するには値カテゴリを増やして場合分けしなきゃならんし。
477デフォルトの名無しさん (ワッチョイ 9ebb-p0Ho)
2023/02/16(木) 16:08:00.45ID:u/aa82YP0 ええと、最終的にはファイルから与えたデータに基づいて木構造を構成し、その木構造でナニかしようということを目論んでまして、そうなるとコンストラクタ内で子供のインスタンスを作ればいいんじゃないか、と考えた次第です。
データをあるオブジェクトに喰わせたら、勝手に木構造が出来上がるようにしたかったのです。
で、そのプロトタイプを作る段階でつまづいていた次第です。
とりあえず、皆様のご助言で動くようになったものについては明日以降にw
andboxに貼ります。
引き続きご指導をお願いいたします。
データをあるオブジェクトに喰わせたら、勝手に木構造が出来上がるようにしたかったのです。
で、そのプロトタイプを作る段階でつまづいていた次第です。
とりあえず、皆様のご助言で動くようになったものについては明日以降にw
andboxに貼ります。
引き続きご指導をお願いいたします。
478デフォルトの名無しさん (アウアウウー Sa4f-STvZ)
2023/02/16(木) 16:40:39.41ID:5AcA3bi5a479デフォルトの名無しさん (ワッチョイ 46ad-D0vN)
2023/02/16(木) 17:06:59.28ID:hcbjKjsO0 std::mapのinsert()すると、std::vectorみたいにキーや値のメモリ再配置って起きる?
480デフォルトの名無しさん (ワッチョイ ff9c-7nFJ)
2023/02/16(木) 17:34:19.19ID:of28AX7H0 >>476
メモリ管理だけコンパイラ側でやるなら、クラスその他諸々は無くても大丈夫じゃない?
メモリ管理だけコンパイラ側でやるなら、クラスその他諸々は無くても大丈夫じゃない?
481デフォルトの名無しさん (ワッチョイ 46ad-D0vN)
2023/02/16(木) 17:44:16.85ID:hcbjKjsO0482デフォルトの名無しさん (スッップ Sdaa-zpWe)
2023/02/16(木) 17:51:19.65ID:OTlvZlbDd 最終的にはメモリ領域の所有権に行き着くはずだが
Cでどうやって所有権の貸し出し/譲渡を表現するんだよ
所有者が複数になる場合もあるんだぞ
Cでどうやって所有権の貸し出し/譲渡を表現するんだよ
所有者が複数になる場合もあるんだぞ
483デフォルトの名無しさん (オイコラミネオ MM8b-AGaU)
2023/02/16(木) 18:34:49.77ID:RFcoGR7kM484デフォルトの名無しさん (ワッチョイ d301-sPc2)
2023/02/16(木) 18:42:26.35ID:LB1U3BvE0 >>482
shared_ptr 相当をコンパイラーが実装するだけでしょ?
shared_ptr 相当をコンパイラーが実装するだけでしょ?
485デフォルトの名無しさん (アウアウウー Sa4f-M3eb)
2023/02/16(木) 18:43:11.20ID:9Qy/VbOQa486デフォルトの名無しさん (ワッチョイ 835f-uIvN)
2023/02/16(木) 18:43:28.33ID:G6Y1BfCz0 >>477
まあ、子供をいくつか作るぐらいなら問題はないかな
ちなみに自分はコンストラクタであまりややこしいことはしないようにしてる
もし大きな処理の結果をもとにインスタンスを初期化したいときは、
全部コンストラクタでやるんじゃなくて、その処理だけを前もって実行してる
まあ、子供をいくつか作るぐらいなら問題はないかな
ちなみに自分はコンストラクタであまりややこしいことはしないようにしてる
もし大きな処理の結果をもとにインスタンスを初期化したいときは、
全部コンストラクタでやるんじゃなくて、その処理だけを前もって実行してる
487デフォルトの名無しさん (ワッチョイ ff7c-DG2X)
2023/02/16(木) 18:46:08.39ID:kdIqPIYR0 std::mapのinsert、emplace、eraseは内部要素へのイテレータを無効化しないことが保証されてる(当然eraseで消した要素そのものは除く)
なおstd::unordered_mapの同名関数はrehashingが起きてイテレータが無効になることがある
なおstd::unordered_mapの同名関数はrehashingが起きてイテレータが無効になることがある
488デフォルトの名無しさん (ワッチョイ 835f-uIvN)
2023/02/16(木) 18:59:23.43ID:G6Y1BfCz0489デフォルトの名無しさん (ワッチョイ a74e-8lmq)
2023/02/16(木) 19:08:57.32ID:UWxnAkIX0 >>488
関数のデストラクタ(returnするときに必ず呼ぶ処理)が欲しくなることはあるね
関数のデストラクタ(returnするときに必ず呼ぶ処理)が欲しくなることはあるね
490デフォルトの名無しさん (ワッチョイ d301-sPc2)
2023/02/16(木) 19:35:21.87ID:LB1U3BvE0491デフォルトの名無しさん (ワッチョイ 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++の演算はオーバーフローする可能性があるんだから
無意味な警告は出す方が悪い
コンパイラの設定で無効にしろ
コードを変えて隠す物じゃない
■ このスレッドは過去ログ倉庫に格納されています