- 1 名前:デフォルトの名無しさん mailto:sage [2020/01/31(金) 20:54:06.26 ID:Nt0XFA2s.net]
- C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。 前スレ C++相談室 part147 https://mevius.5ch.net/test/read.cgi/tech/1576659413/ このスレもよろしくね。 【初心者歓迎】C/C++室 Ver.105【環境依存OK】 mevius.5ch.net/test/read.cgi/tech/1556142878/ ■長いソースを貼るときはここへ。■ codepad.org/ https://ideone.com/ [C++ FAQ] https://isocpp.org/wiki/faq/ www.bohyoh.com/CandCPP/FAQ/ (日本語)
- 300 名前:デフォルトの名無しさん mailto:sage [2020/02/06(Thu) 20:40:31 ID:3IyMYliq.net]
- >>290
同じBIT数やBIT数が少なくなる場合の整数型から整数型へのcastは、マシン語では0命令(命令が出力されない)。 高級言語では違う型でもマシン語レベルでは変わらないため。 BIT数が多くなる場合には、x86の場合は、movzx や movsx が使われる。
- 301 名前:デフォルトの名無しさん [2020/02/06(Thu) 20:41:12 ID:3IyMYliq.net]
- >>292
実際には、最適化が上手く行かないことも多いので差が出てくることは多い。
- 302 名前:デフォルトの名無しさん mailto:sage [2020/02/06(Thu) 20:42:39 ID:3IyMYliq.net]
- >>293
つまり、符号無しや符号付の区別はマシン語ではないので C/C++言語で castしても高級言語レベルでの意味が変わるだけでマシン語レベルでは 何の命令も増えることはない。
- 303 名前:デフォルトの名無しさん mailto:sage [2020/02/06(木) 20:49:08.28 ID:VEO7DUBt.net]
- 素直にrange-based-for
これが出てきたことの影響のでかさがわかってないやつ多すぎ 禿4にはfor_eachを使う前にもっと適した関数を探せとあるが 本当にそうか自分の頭で考えろ
- 304 名前:デフォルトの名無しさん mailto:sage [2020/02/06(Thu) 20:56:38 ID:/W9iMVJD.net]
- コストを気にしてる人に対してトンチンカン
- 305 名前:デフォルトの名無しさん mailto:sage [2020/02/06(Thu) 21:03:18 ID:/W9iMVJD.net]
- 普通のコンパイラなら
コンパイル単位内の関数は一緒に最適化するので .size() の中で値を返してるだけなら ループの外に追い出してくれる ターゲットがPCなら気にするな それよりv[i]の方が重い
- 306 名前:デフォルトの名無しさん mailto:sage [2020/02/06(Thu) 21:03:40 ID:VEO7DUBt.net]
- 何もわかってねえやつ
- 307 名前:デフォルトの名無しさん mailto:sage [2020/02/06(Thu) 21:17:40 ID:X3a4Tx/S.net]
- 未だindexループよりrange-basedのほうが早い処理系がない件
>>298 v[i]が重いってどんなstlコンテナだよ
- 308 名前:◆QZaw55cn4c mailto:sage [2020/02/06(Thu) 22:12:04 ID:6P0xXhLK.net]
- >>267
>警告を一つ残らず潰したいタチだから ここまでは同感です >毎回こういうのはintにキャストしてるんだが、 私なら int i を unsigned int i にしますが
- 309 名前:デフォルトの名無しさん mailto:sage [2020/02/06(Thu) 22:16:59 ID:cE8ku0Th.net]
- templete<typename T>auto LEN(const T& v)->signed T{return (signed T)v;}
- 310 名前:デフォルトの名無しさん mailto:sage [2020/02/06(Thu) 22:22:15 ID:j/UITOXa.net]
- とりあえず大きい方に合わせとけば間違いないんだからsize_tでいいじゃん
そのvの要素が将来に渡って21億個を超えない保証がどこにある?
- 311 名前:デフォルトの名無しさん mailto:sage [2020/02/06(木) 22:45:07.03 ID:/W9iMVJD.net]
- >>300
整数のキャストに比べればはるかに重い そのレベルを気にするなら生ポ
- 312 名前:デフォルトの名無しさん mailto:sage [2020/02/06(Thu) 22:53:37 ID:sigCaOr9.net]
- x86なら32bit命令使った方がバイナリ小さい
- 313 名前:デフォルトの名無しさん mailto:sage [2020/02/06(Thu) 22:57:14 ID:sigCaOr9.net]
- >>304
vectorだと生ポと変わらんでしょ もちろん最適化前提で
- 314 名前:デフォルトの名無しさん mailto:sage [2020/02/06(Thu) 23:03:20 ID:YUB/hFRs.net]
- >>300
range-basedはiterator c++のiteratorはindexが速くなる連続アドレスのコンテナならpointerと同じコンパイル結果になる indexアクセスがpointerより遅くないなら、それはコンパイラの最適化のお陰
- 315 名前:デフォルトの名無しさん mailto:sage [2020/02/06(Thu) 23:13:46 ID:/W9iMVJD.net]
- >>306
生ポと変わらなきゃ良いんだけど 変わるんだよ VisualStudioやチープなコンパイラだと いずれにしろここから先は 具体的な環境とループ回数やループの中身全体で考えないと意味がない なんせ1クロックレベルのことを気にしてるようなので 実はメモリアクセスが支配的で 他の最適化は全く意味がないとか
- 316 名前:デフォルトの名無しさん mailto:sage [2020/02/06(木) 23:20:09.64 ID:/W9iMVJD.net]
- SIMD命令 / DSP命令 / スレッド分け / GPU
他のループと合わせる / ループを分ける ループアンロール 依存性の削減 / 式変形 アルゴリズムの改善 キャッシュ化 / テーブル化 いろんな最適化がある
- 317 名前:デフォルトの名無しさん mailto:sage [2020/02/06(木) 23:45:25.65 ID:f00f0WlE.net]
- vectorの[]は定数時間
- 318 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2020/02/07(金) 01:10:19 ID:BIRgOLIs.net]
- ところで元々の質問の >>267 は整数の型が合わないのどのくらい気にする?
っていうのを「一般論として」聞いてるので、これに対しての選択肢を派閥系統樹形式にしてみた ├→ きちんと合わせる派 │ ├→ その環境で合ってれば良いよ派 (移植性は気にしない派) │ ├→ コンパイラの警告は潰す派 │ │ ├→ 理解しなくてもキャストで合わせるので十分派 │ │ └→ 警告される箇所は仕様の詳細を調べる派 │ └→ size_t とか size_type とか使え派 (言語仕様原理主義派) ├→ 問題がなければ気にしない派 │ ├→ 問題に気づかない派 (鈍感派) │ ├→ 実行コストに敏感派 │ │ ├→ 最適化はあてにする派 (モダン開発環境派) │ │ └→ 最適化はあてになんないよ派 │ │ ├→ 低レイヤ派 │ │ ├→ 老害派 │ │ ├→ 諦め派 │ │ └→ ベータ開発環境追いかけ派 │ └→ 状況と程度による派 (柔軟派) └→ えっ、それって駄目だったん? 派 ├→ 初心者派 └→ 無知派
- 319 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 02:51:26 ID:dGY
]
- [ここ壊れてます]
- 320 名前:48don.net mailto: >>278
業務外だと、とは書いてあるけど一応突っ込んでおくと もしそれがコンパイラの警告レベルを下げるとか小さい型へのキャストの警告を無くすとかなら それはバッドノウハウだよ、真似しないように [] - [ここ壊れてます]
- 321 名前:デフォルトの名無しさん [2020/02/07(金) 03:23:36 ID:yxrGSGnH.net]
- じゃあ俺、えっ、それって駄目だったん? 派でお願いします。
- 322 名前:デフォルトの名無しさん [2020/02/07(金) 03:50:27 ID:yxrGSGnH.net]
- テストの品質がすべてを決めるような気がしてきた。
- 323 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 03:57:04 ID:plErZoHk.net]
- >>311
わし、こうみえて「警告される箇所は仕様の詳細を調べる派」や その上で、問題なければ「状況と程度による派 (柔軟派)」に再度ブランチする派
- 324 名前:デフォルトの名無しさん [2020/02/07(金) 04:00:36 ID:yxrGSGnH.net]
- Boostは警告を無視する派、GoogleはMicrosoftの問題なので修正する予定はない派。
ってことは、警告だしっぱなしで構わないって事では?
- 325 名前:デフォルトの名無しさん [2020/02/07(金) 04:01:58 ID:yxrGSGnH.net]
- 目grepが難しいので、警告は消すしかないんだけど。
- 326 名前:デフォルトの名無しさん [2020/02/07(金) 04:04:17.66 ID:yxrGSGnH.net]
- 変数の大きさが変わると同じ値のビット表現が変わるのはしんどいので、符号が一番右端にあったほうが良かったんじゃないの。
右端ならビット表現が変わらない。
- 327 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 05:13:16 ID:zrCiCWWN.net]
- 型違い面倒だからautoにしても警告出るから何でやおもたらi=0でintだったでござる派
- 328 名前:デフォルトの名無しさん [2020/02/07(金) 06:00:43 ID:yxrGSGnH.net]
- HTMLにしろコンパイラにしろ、Microsoft案のほうが合理的と思うけどな。
規格は政治だよね。
- 329 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 06:42:07 ID:52vnIbYM.net]
- >>302
signed Tはできねえぞ std::make_signed_t<T>にしないと
- 330 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 06:57:58 ID:52vnIbYM.net]
- > コンパイラの警告は潰す派
キャストつーか、#pragmaを使ったりもするね もち、規格票で自分が悪いのかコンパイラのお節介かはっきりさせてからだけど
- 331 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 07:21:23 ID:9DO99WJ1.net]
- 基本的にはsize_tとかsize_typeとか使え派
面倒でもちゃんとやった方が後のテストや検証は楽なんだよ まあ無理だったり異様に面倒だったりする場合も現実的にはあるからそこは仕方ないけど
- 332 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 07:52:22 ID:+bDqT2Wz.net]
- i は int にしたいって言ってるんだから
ここの型をsize()に合わせたら キャストが他に移るだけ
- 333 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 08:31:14.28 ID:z6HtA7Ca.net]
- >>288
いえいえ
- 334 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 10:49:20 ID:/rNOv2pQ.net]
- >>298
vがグローバルなオブジェクトである場合や、ヒープから確保されたオブジェクトの参照型である場合、コンパイラには v.size() がループ定数であるかどうかを判定するのは難しいことが多い。 このスレでもグローバルに確保された構造体型のメンバを参照する場合、最適化され無い事が指摘されていたが、それと同じことが原因。 C/C++ではポインタや参照があるのでグローバル変数やグローバルなオブジェクトのメンバ変数が変化しないことをコンパイラが見極めるのが難しい。
- 335 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 10:52:27 ID:VWyX2qgb.net]
- for(auto i=v.size()+1; 0<len; --i)
for(auto i : my_range(v.size())
- 336 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 11:01:57 ID:52vnIbYM.net]
- reverse_iterator first(v.end()), last(v.begin());
for_each(first, last, [](auto& x) { cout << x; });
- 337 名前:デフォルトの名無しさん [2020/02/07(金) 11:41:09.54 ID:jtk/IwGo.net]
- 64bit/32bitまたぎできるソース汎用性を考えれば、負の数が必要ないなら size_tを使うのが最善でしょ。
- 338 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 12:00:59.89 ID:VWyX2qgb.net]
- size_tはunsignedなのがうざい
c言語初心者が決めただろこれ
- 339 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 12:07:12.14 ID:VWyX2qgb.net]
- あ、上にかいたやつ+1は間違いや
- 340 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 12:12:42.12 ID:52vnIbYM.net]
- ポインタ
- 341 名前:+ size_t == ポインタ
ポインタ - ポインタ == ptrdiff_t おかしいね [] - [ここ壊れてます]
- 342 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 12:33:14.78 ID:8FC0VQS8.net]
- >>326
仮に毎回アクセスしたとしてもv[i]の方が重い 毎回アドレスを計算して毎回メモリアクセスするわけで
- 343 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 12:48:40.15 ID:Nrn3Ov0h.net]
- indexにintはlp64環境だと怖すぎる
- 344 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 12:51:13 ID:cytAyAiU.net]
- そんなバカでかいインデックス作る方が怖い
- 345 名前:デフォルトの名無しさん [2020/02/07(金) 13:01:32 ID:jtk/IwGo.net]
- ファイルポインタは4GB越えが当たり前だし。
- 346 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 13:18:28 ID:8FC0VQS8.net]
- ばかでかいループをたくさん作るなら
性能を心配した方が良い 中身にもよるが、ほぼメモリアクセス時間になりかねない 帯域の無駄遣い ループをまとめるとか細切れにするとか キャッシュを有効に使う処理にしないと キャストのコストとか完全に誤差
- 347 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 13:30:18 ID:QoBXk/kf.net]
- メモリポインタも4GB超えは当たり前だしな
- 348 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 13:33:10 ID:52vnIbYM.net]
- 8086時代の苦しみを知っている人なら
リニアでないポインタやインデックスが どんなにウザいものかよく知っている 64bit空間なら64bitを使っとけって悪いこと言わないから
- 349 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 13:45:59 ID:8FC0VQS8.net]
- ループの中身も知らないで良く言うね
int変換必須なら問題点の場所を移動させただけ
- 350 名前:デフォルトの名無しさん [2020/02/07(金) 13:58:09.08 ID:jtk/IwGo.net]
- 今日日4GB越えとかWindowsNT4.0サービスパックですか、と。
- 351 名前:デフォルトの名無しさん [2020/02/07(金) 14:12:43.62 ID:PWhN+bN7.net]
- 納品したときに
コンパイルで警告出るんですが消してって言われて それ無視して良い警告ですよって言っても 理解してもらえなかった派
- 352 名前:デフォルトの名無しさん [2020/02/07(金) 14:19:34.17 ID:PWhN+bN7.net]
- あと警告が出ないからと言って
正しく動くと保証されている訳でもなんでもないのに
- 353 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 14:32:07.46 ID:VWyX2qgb.net]
- >>342
それはお前が悪い そんなんで納品するな
- 354 名前:デフォルトの名無しさん [2020/02/07(金) 14:34:22.92 ID:jtk/IwGo.net]
- 客先と同じビルド環境で警告対応しないのは落ち度だね。次の仕事なくなるでしょ。
- 355 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 14:40:57.67 ID:/rNOv2pQ.net]
- >>333
BYTE v[数値]; のような生配列の場合、ループの中のv[i]は、最適化が効いてものすごく効率の良いコードになることが多い。 この場合、vがグローバルに確保されたオブジェクトや参照型であったとしても最適化には余り悪影響はない。 vがstd::vector 型の場合で、かつ、vがグローバル・オブジェクトや、参照型の場合は、コンパイラはv[i]を上手く最適化できないかもしれない。
- 356 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 14:42:08.26 ID:/rNOv2pQ.net]
- >>346
すまん。 後半部分は勘違いかもしれない。
- 357 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 14:47:50.81 ID:5UxOF8qK.net]
- >>346
VCはvectorでも生ポインタに近い最適化はしてくれてるみたいだぞ
- 358 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 15:03:24 ID:jtk/IwGo.net]
- 客や同僚から使えないプログラマ認定されていることに気づけず独りよがりな考えに凝り固まる人いるよね・・・
かわいそうではあるけど、かかわりたくないタイプの人。
- 359 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2020/02/07(金) 15:15:12 ID:BIRgOLIs.net]
- 標準ライブラリのコンテナのイテレータを sizeof で見ればわかるが、ほとんどの場合で void* と同じ大きさ。
要するにポインタ一個分の情報しかないし、実際ポインタが入ってるし、ポインタの操作になってる。 しいて言えば操作がメンバ関数経由になる分のコストはあるといえばあるけど、 それくらいのインライン展開はするのが普通でしょ。 vector の場合だと領域が連続する保証があるのでインライン展開だけでイテレータはポインタと同じになる。 VC のコンテナだとデバッグモードではイテレータが少し大きい (のと範囲チェックとかする) ってなことらしいんだが、 処理系をインストールしてないから試してない。
- 360 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 15:20:21 ID:E/TdO4KU.net]
- >>349
お
- 361 名前:まえがきちんとした仕様を提案できないで投げっぱにしてるからそんなことになってんじゃないの? []
- [ここ壊れてます]
- 362 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 17:16:18 ID:52vnIbYM.net]
- >>340
64bit空間で64bit以外のインデックスを使うべきループの中身とやらを書かないあんたが悪い 書けないんじゃないのか?
- 363 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 17:31:01 ID:Nrn3Ov0h.net]
- intだとたったの2G要素でオーバーフローして無限ループになるのが怖い
- 364 名前:デフォルトの名無しさん [2020/02/07(金) 17:31:33 ID:yxrGSGnH.net]
- イテレータよりポインタのほうが速いよ。
ホントだよ。 いまベンチとってるから。 偶然だけど。
- 365 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 17:34:39.39 ID:jtk/IwGo.net]
- >>351
「無視して良い警告」とか勝手に判断する困ったPGにきちんと仕様を提案しても無駄でしょ。解雇するわ。
- 366 名前:デフォルトの名無しさん [2020/02/07(金) 17:37:50.00 ID:PWhN+bN7.net]
- unsigned だと
for(unsigned i = s.size(); --i >= 0; ){...} みたいなので警告出るんだっけ
- 367 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 17:41:09.31 ID:Nrn3Ov0h.net]
- 警告で指摘された問題点に対処もせずに、キャストやらで無理やり消す位なら、出たまま放置の方が100倍マシ
- 368 名前:デフォルトの名無しさん [2020/02/07(金) 17:43:22.94 ID:yxrGSGnH.net]
- ヒープ作るとき、マイナスの値は空きノードのリンクリストに使ったりするので、その手の比較は多発する。
- 369 名前:はちみつ餃子 mailto:sage [2020/02/07(金) 17:43:55.24 ID:BIRgOLIs.net]
- うーん、近頃はちょっとした作法レベルのところまで警告として口出しすることがあるからなぁ。
完全に規格に沿って書いてるわ! ってときにはイラッとすることもある。 個別に警告オプションを設定するのも面倒くせぇし、直してしまう方が手っ取り早かったりもするんだけど、 何がなんでも警告をゼロにしろって言われたら警告レベルを低くする対処をしちゃうかも。
- 370 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 17:52:14.97 ID:VWyX2qgb.net]
- 仕事ではやってんなら手を抜くなぼけ
pragmaとかでなんとでもなるだろ
- 371 名前:デフォルトの名無しさん [2020/02/07(金) 17:55:05.15 ID:yxrGSGnH.net]
- タモリさんは遊びで手を抜くなって言ってた。
- 372 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 17:57:41.44 ID:jtk/IwGo.net]
- 従来cppcheckなどの静的解析ツールが出していた警告をコンパイラも出すようになってくれたのは良い動き。
親切なコンパイラに感謝して警告箇所の修正をやればいい。 修正に工数がかかることが懸念されるなら、依頼主にその旨を伝えればいい。
- 373 名前:デフォルトの名無しさん mailto:age [2020/02/07(金) 18:05:13.97 ID:kNxPhPNR.net]
- >>360
すごい偉そうにしてるけど大丈夫?>>327 ;0<len; って···
- 374 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 18:14:59.44 ID:CaNLgYal.net]
- 雑魚ほどイキがるのはプログラマも同じ
- 375 名前:デフォルトの名無しさん [2020/02/07(金) 18:23:59.39 ID:yxrGSGnH.net]
- カバレッジ測定のツールって安いの無いのかな。
- 376 名前:はちみつ餃子 mailto:sage [2020/02/07(金) 18:36:35.61 ID:BIRgOLIs.net]
- >>360
俺はプログラミングについては趣味者だから実務のことは知らんのだわ。 すまんな。 しかしな、必要以上の品質にするくらいなら手抜きで安くしろって言う客の方が多いと思うぞ。 必要より下になったらあかんのでそこを制御していい感じの 手抜き具合にするのが難しいわけだが、そこを上手くやるのが 手抜きしないことよりもプロに必要な資質じゃね? 手抜きしないよりも適切に手を抜く、どうやって手抜きするか知っていることが大事だ。 仕事は経済的に割に合う形でしか継続できないんだからさ。 そりゃあいつも十全な仕事が出来る時間的・経済的余裕があるならうれしいが、 現実はそうではないだろ。
- 377 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 18:40:56.99 ID:jtk/IwGo.net]
- >>366
何言ってんだ? 手抜きしたいからこそ、コンパイラの警告に素直に従うんだぞ。
- 378 名前:はちみつ餃子 mailto:sage [2020/02/07(金) 18:45:33.43 ID:BIRgOLIs.net]
- >>367
それもそうだな。
- 379 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 18:51:12.38 ID:ZYtSuiu/.net]
- DirectX関連使ってるとenumよりenum classを優先しますという警告出るんだけど、ライブラリ変えるわけにもいかなく、どう対応するのが正解なんだろ?
- 380 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 18:58:20.00 ID:HVBpNa40.net]
- そもそも警告って規格で定められている訳でもなく、コンパイラが独自の基準で勝手に出してくる物だからね
mutableは悪だってconst付いてない変数全てに警告出すコンパイラとか出てきたらどうするんだろう
- 381 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 19:03:54.90 ID:jtk/IwGo.net]
- >>370
議論のための議論とか、言いがかりのような仮定の話に、いちいち付き合わないことが重要。
- 382 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 19:04:25.00 ID:/AlUflk/.net]
- >>365
とりあえずgprofでいいんじゃね?
- 383 名前:デフォルトの名無しさん [2020/02/07(金) 19:08:56.34 ID:yxrGSGnH.net]
- >>372
見てみます。
- 384 名前:はちみつ餃子 mailto:sage [2020/02/07(金) 19:25:21.94 ID:BIRgOLIs.net]
- >>371
変な作法が追加されることなんて良くあるんだぞ。 今じゃ gcc や clang で -Wall オプションを付けたら a || b && c みたいな式にすら警告が出る。 優先順位を間違えやすいとこだから括弧で明示した方が良いんだと! 演算子の優先順位くらい把握しとるわ! こんなの警告されるようになると想像したことあったか? 他の演算子でも同様の警告を出すようになることくらいはあるかもしれんぞ? 確かに >>370 は極端な例ではあるが、ようわからんところでしょうもない警告が出るようになる かもしれんという懸念は無い話ではないぞ。
- 385 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 19:30:53.52 ID:9DO99WJ1.net]
- いやそれはカッコ付けろよ
- 386 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 19:33:08.02 ID:jtk/IwGo.net]
- >>374
趣味でしかやってない人の意見なんて無視しろ、というが私の回答です。
- 387 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 19:39:25.14 ID:1PiYJQ+8.net]
- >>374
それは括弧つけろよ
- 388 名前:はちみつ餃子 mailto:sage [2020/02/07(金) 19:46:55.57 ID:BIRgOLIs.net]
- >>375-377
そっかー (´・ω・`)
- 389 名前:デフォルトの名無しさん [2020/02/07(金) 19:55:08.75 ID:yxrGSGnH.net]
- はちみつ先生は何を作ってるんですか?
- 390 名前:はちみつ餃子 mailto:sage [2020/02/07(金) 20:28:02.80 ID:BIRgOLIs.net]
- >>379
ゲームのチートツールとか。 汎用的な便利なツールは色々とあるけど、個別のソフトをいじるには行き届かないこともあるので。 念のため言っとくけど買い切りの RPG かフリーゲームだけ。 ネットゲームはやってないよ。 ちなみにそのツールは公開してない。 その他に作った有用そうなものは公開してるんで、身バレするから言えない。
- 391 名前:デフォルトの名無しさん [2020/02/07(金) 20:52:16.35 ID:yxrGSGnH.net]
- >>380
そうなんですか。 ずいぶん詳しいのに仕事じゃないというから不思議に思ってました。
- 392 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 20:56:00.11 ID:jtk/IwGo.net]
- つまり、はちみつ某は、なんの思い入れもない他人のソースを読まされる身になった経験が少ないわけか。
- 393 名前:デフォルトの名無しさん [2020/02/07(金) 21:02:52.46 ID:yxrGSGnH.net]
- アルゴリズム考えるときは、図を必ず書くと思うんだけど、皆さんは何を使ってますか?
いまは紙と鉛筆使ってるんだけど、探すの大変だから、ソフトに変えたい。
- 394 名前:はちみつ餃子 mailto:sage [2020/02/07(金) 21:05:36.03 ID:BIRgOLIs.net]
- >>382
せやな。 そんなわけで、他人のバイナリを見る機会はあるけどソースはそれほどでもって感じかも。 結果的に読まなきゃならないことはあるけど、所詮は趣味だから嫌になったらいつでも止められるし、急がなくてもいいし。 プレッシャーに晒されながらクソみたいなソースを読むってことはない。
- 395 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 21:05:49.82 ID:E/TdO4KU.net]
- たまに書く方がいい
字を忘れる
- 396 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 21:09:26 ID:y0pPi+zA.net]
- C++なんざ仕事で嫌々書かされるだけの言語だと思ったけど
趣味で使っちゃう子もおるんやな
- 397 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2020/02/07(金) 21:12:24 ID:BIRgOLIs.net]
- >>383
曖昧なところから思考を整理するなら紙と鉛筆でいいと思うけど、 それなりに書式の整ったようにするなら PlantUML とか。 GUI で自由にってことなら Dyna
- 398 名前:mic Draw くらいが手頃かもしれない。 []
- [ここ壊れてます]
- 399 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 21:15:03 ID:jtk/IwGo.net]
- 完全な趣味目的でC++を触る変態はそうそういないと思う。
- 400 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 21:16:30 ID:52vnIbYM.net]
- >>386
禿1読んで信者になった変態もおるんやで
|

|