[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 08/08 21:46 / Filesize : 235 KB / Number-of Response : 1032
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part148



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/ (日本語)

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読んで信者になった変態もおるんやで

401 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2020/02/07(金) 21:16:36 ID:BIRgOLIs.net]
>>386
ゲームのチートとかするために
既存のプロセスに割り込んだりする処理を書こうと思うと C か C++ くらいしかまともな選択肢なくね?
C で足りるなら C で済ませることもあるけど、もうちょっと高級なことがしたくなったら C++
ってのは妥当な選択肢というか、唯一解でしょ。

まあ近頃は Rust にも興味があるけど……。

402 名前:デフォルトの名無しさん [2020/02/07(金) 21:37:46 ID:yxrGSGnH.net]
>>387
見てみます。

403 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 22:05:07.56 ID:8FC0VQS8.net]
>>375
>>377
男ならカッコつけろ



404 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 22:14:56.42 ID:8FC0VQS8.net]
カッコつけろって人
付ける付けないの基準はコンパイラの警告?

完全に優先順位を覚えてる人から見ると
カッコが多いと見にくいんだよ

a == 0 || b != 0
a * b + 1
*a[i]
*a++

こんなのにカッコつけてたら
えっ?何か意味があるの?って考えてしまう

405 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 22:26:24.78 ID:52vnIbYM.net]
> えっ?何か意味があるの?

いや、「あーまた面倒くさいやつ来やがった」だよ

406 名前:デフォルトの名無しさん [2020/02/07(金) 22:52:28.44 ID:GxNDg+Fe.net]
実務経験1年で月収80万稼げるエンジニアになった理由
https://www.youtube.com/watch?v=DrbbyGsHQic
意識が低いエンジニアこそフリーランスになれ
https://www.youtube.com/watch?v=nSEaAJlgjbQ
フリーランスエンジニアの週3労働ってどんな感じ?
https://www.youtube.com/watch?v=8yjoDCdbzMc
ぼくがスキルのない社畜ならこうやって脱する
https://www.youtube.com/watch?v=aae8xxbUlMM
初めて人を雇ったらもう二度とサラリーマンをやりたくないと思った話
https://www.youtube.com/watch?v=U0OCGRVLFsM
プログラミングは文系でも余裕で出来ます!理由を現役プログラマーが解説
https://www.youtube.com/watch?v=iBOeiSKBIW8
貧乏人こそ社会不適合者
https://www.youtube.com/watch?v=O3BT72BIBJI
元ド貧乏が教える】貧乏を抜け出すための2つの考え方
https://www.youtube.com/watch?v=IRrCgTy3ckc
より良いオファー貰ってるのに転職しないとか何考えてるの?
https://www.youtube.com/watch?v=i0J6uRhlj7o

407 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 22:55:11.74 ID:NUR9HIfz.net]
優先順位を完全に把握しているなら機能的には意味のない括弧だと理解しているんだろうが
そのうえで疑問に思った「意味」って、どんなものを想定しているんだろう。
「優先順位を完全に把握していない人が間違えないように」くらいの意味しか思いつかないが。

408 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 22:59:52.10 ID:8FC0VQS8.net]
(a + b + c) + (d + e)

同じ型の整数5個を足すのにこんなカッコが付いてたらどう思う?

409 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 23:17:13.31 ID:NUR9HIfz.net]
>>393と言ってる趣旨が違ってないか?
実際に>>397みたいなコードを見たことがあるの?

410 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 23:24:04.71 ID:8FC0VQS8.net]
同じ印象だって話

ちなみに、
わざわざ>>397のようなカッコを付ける時はある

411 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 23:24:42.60 ID:jtk/IwGo.net]
協業できない人があれこれC++について論じるのは害でしかない。

412 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 23:31:57.60 ID:Uosz/SQM.net]
まずプログラム言語っての読み書きする人間のためにあるって大前提忘れてるか自覚してないやつ多いな

413 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 23:34:58 ID:NUR9HIfz.net]
>>399
マイナスが混ざっているならわからんでもないが、>>393で言っている優先順位の話とは関係ないように思うが?



414 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 23:36:27 ID:Fqx20dQ+.net]
>>397のようなコードを見てどう思う?

415 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 23:39:04 ID:jtk/IwGo.net]
見やすいかどうかは

416 名前:主観なので、他人や未来の自分が読んで誤解しないようにすることが肝でしょ。
まさか、「数値リテラルの桁区切り文字」にまでかみついたりしないよね?
https://cpprefjp.github.io/lang/cpp14/digit_separators.html
[]
[ここ壊れてます]

417 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 23:41:49 ID:yMJLmx4v.net]
主観で見やすい表記にする
その為にコンパイラの警告を無視したり切ったりする

何も問題無い

418 名前: mailto:sage [2020/02/08(土) 00:06:08.38 ID:Wxs8WSK9.net]
>>374
> >>371
> 変な作法が追加されることなんて良くあるんだぞ。
> 今じゃ gcc や clang で -Wall オプションを付けたら
> a || b && c
> みたいな式にすら警告が出る。
> 優先順位を間違えやすいとこだから括弧で明示した方が良いんだと!
> 演算子の優先順位くらい把握しとるわ!

把握してても間違えやすいからだと思うね
実際にはa,b,cには比較演算子を使った式が入ることが多いだろう
そうするとけっこうな長さになったりする
で全体の構造が見えにくくなる

そりゃ書いてる真っ最中は問題ないさ
しかし後から読んだときにすぐ理解できなかったり、手を加えるときに間違えたりする
warningを出すべきかは議論の余地があると思うけど、
出すべきと考える理由はわかる

419 名前:デフォルトの名無しさん [2020/02/08(土) 00:38:17.76 ID:RKzyJDHj.net]
それはエディタの機能でかっこを表示したら良いのでは。

420 名前:デフォルトの名無しさん mailto:sage [2020/02/08(土) 00:57:11 ID:GuOhFnKw.net]
主観は重要だろう。
重要でないなら全部アセンブラで書けや。
客観的には最も性能の出る言語だぞ。

421 名前:デフォルトの名無しさん mailto:sage [2020/02/08(土) 01:23:28 ID:Mdfh1mSi.net]
&,|とか&&,||は*,+の関係と同じだから括弧つける方が冗長で分かりづらくなると思うんだが

422 名前:デフォルトの名無しさん mailto:sage [2020/02/08(土) 01:29:21 ID:zzucbZgG.net]
一度書いた四則演算の数式を書き換えることはほとんどないけど、bool論理演算は頻繁に書き換えるでしょ。

423 名前:デフォルトの名無しさん mailto:sage [2020/02/08(土) 01:30:14 ID:zzucbZgG.net]
素人多いね、このスレ。



424 名前:デフォルトの名無しさん [2020/02/08(土) 01:45:08 ID:RKzyJDHj.net]
>>411
プロの意見だとどうなりますか?

425 名前:デフォルトの名無しさん mailto:sage [2020/02/08(土) 01:52:50 ID:JKzazDKJ.net]
数式を遅延評価するオブジェクトを作れば
演算子のオーバーロードで演算子の優先順位を変えられるも同然






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<235KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef