C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part147
https://mevius.5ch.net/test/read.cgi/tech/1576659413/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1556142878/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
探検
C++相談室 part148
■ このスレッドは過去ログ倉庫に格納されています
2020/01/31(金) 20:54:06.26ID:Nt0XFA2s
311はちみつ餃子 ◆8X2XSCHEME
2020/02/07(金) 01:10:19.15ID:BIRgOLIs ところで元々の質問の >>267 は整数の型が合わないのどのくらい気にする?
っていうのを「一般論として」聞いてるので、これに対しての選択肢を派閥系統樹形式にしてみた
├→ きちんと合わせる派
│ ├→ その環境で合ってれば良いよ派 (移植性は気にしない派)
│ ├→ コンパイラの警告は潰す派
│ │ ├→ 理解しなくてもキャストで合わせるので十分派
│ │ └→ 警告される箇所は仕様の詳細を調べる派
│ └→ size_t とか size_type とか使え派 (言語仕様原理主義派)
├→ 問題がなければ気にしない派
│ ├→ 問題に気づかない派 (鈍感派)
│ ├→ 実行コストに敏感派
│ │ ├→ 最適化はあてにする派 (モダン開発環境派)
│ │ └→ 最適化はあてになんないよ派
│ │ ├→ 低レイヤ派
│ │ ├→ 老害派
│ │ ├→ 諦め派
│ │ └→ ベータ開発環境追いかけ派
│ └→ 状況と程度による派 (柔軟派)
└→ えっ、それって駄目だったん? 派
├→ 初心者派
└→ 無知派
っていうのを「一般論として」聞いてるので、これに対しての選択肢を派閥系統樹形式にしてみた
├→ きちんと合わせる派
│ ├→ その環境で合ってれば良いよ派 (移植性は気にしない派)
│ ├→ コンパイラの警告は潰す派
│ │ ├→ 理解しなくてもキャストで合わせるので十分派
│ │ └→ 警告される箇所は仕様の詳細を調べる派
│ └→ size_t とか size_type とか使え派 (言語仕様原理主義派)
├→ 問題がなければ気にしない派
│ ├→ 問題に気づかない派 (鈍感派)
│ ├→ 実行コストに敏感派
│ │ ├→ 最適化はあてにする派 (モダン開発環境派)
│ │ └→ 最適化はあてになんないよ派
│ │ ├→ 低レイヤ派
│ │ ├→ 老害派
│ │ ├→ 諦め派
│ │ └→ ベータ開発環境追いかけ派
│ └→ 状況と程度による派 (柔軟派)
└→ えっ、それって駄目だったん? 派
├→ 初心者派
└→ 無知派
312デフォルトの名無しさん
2020/02/07(金) 02:51:26.03ID:dGY48don313デフォルトの名無しさん
2020/02/07(金) 03:23:36.63ID:yxrGSGnH じゃあ俺、えっ、それって駄目だったん? 派でお願いします。
314デフォルトの名無しさん
2020/02/07(金) 03:50:27.48ID:yxrGSGnH テストの品質がすべてを決めるような気がしてきた。
315デフォルトの名無しさん
2020/02/07(金) 03:57:04.21ID:plErZoHk316デフォルトの名無しさん
2020/02/07(金) 04:00:36.65ID:yxrGSGnH Boostは警告を無視する派、GoogleはMicrosoftの問題なので修正する予定はない派。
ってことは、警告だしっぱなしで構わないって事では?
ってことは、警告だしっぱなしで構わないって事では?
317デフォルトの名無しさん
2020/02/07(金) 04:01:58.31ID:yxrGSGnH 目grepが難しいので、警告は消すしかないんだけど。
318デフォルトの名無しさん
2020/02/07(金) 04:04:17.66ID:yxrGSGnH 変数の大きさが変わると同じ値のビット表現が変わるのはしんどいので、符号が一番右端にあったほうが良かったんじゃないの。
右端ならビット表現が変わらない。
右端ならビット表現が変わらない。
319デフォルトの名無しさん
2020/02/07(金) 05:13:16.79ID:zrCiCWWN 型違い面倒だからautoにしても警告出るから何でやおもたらi=0でintだったでござる派
320デフォルトの名無しさん
2020/02/07(金) 06:00:43.94ID:yxrGSGnH HTMLにしろコンパイラにしろ、Microsoft案のほうが合理的と思うけどな。
規格は政治だよね。
規格は政治だよね。
321デフォルトの名無しさん
2020/02/07(金) 06:42:07.56ID:52vnIbYM322デフォルトの名無しさん
2020/02/07(金) 06:57:58.73ID:52vnIbYM > コンパイラの警告は潰す派
キャストつーか、#pragmaを使ったりもするね
もち、規格票で自分が悪いのかコンパイラのお節介かはっきりさせてからだけど
キャストつーか、#pragmaを使ったりもするね
もち、規格票で自分が悪いのかコンパイラのお節介かはっきりさせてからだけど
323デフォルトの名無しさん
2020/02/07(金) 07:21:23.65ID:9DO99WJ1 基本的にはsize_tとかsize_typeとか使え派
面倒でもちゃんとやった方が後のテストや検証は楽なんだよ
まあ無理だったり異様に面倒だったりする場合も現実的にはあるからそこは仕方ないけど
面倒でもちゃんとやった方が後のテストや検証は楽なんだよ
まあ無理だったり異様に面倒だったりする場合も現実的にはあるからそこは仕方ないけど
324デフォルトの名無しさん
2020/02/07(金) 07:52:22.31ID:+bDqT2Wz i は int にしたいって言ってるんだから
ここの型をsize()に合わせたら
キャストが他に移るだけ
ここの型をsize()に合わせたら
キャストが他に移るだけ
325デフォルトの名無しさん
2020/02/07(金) 08:31:14.28ID:z6HtA7Ca >>288
いえいえ
いえいえ
326デフォルトの名無しさん
2020/02/07(金) 10:49:20.82ID:/rNOv2pQ >>298
vがグローバルなオブジェクトである場合や、ヒープから確保されたオブジェクトの参照型である場合、コンパイラには v.size() がループ定数であるかどうかを判定するのは難しいことが多い。
このスレでもグローバルに確保された構造体型のメンバを参照する場合、最適化され無い事が指摘されていたが、それと同じことが原因。
C/C++ではポインタや参照があるのでグローバル変数やグローバルなオブジェクトのメンバ変数が変化しないことをコンパイラが見極めるのが難しい。
vがグローバルなオブジェクトである場合や、ヒープから確保されたオブジェクトの参照型である場合、コンパイラには v.size() がループ定数であるかどうかを判定するのは難しいことが多い。
このスレでもグローバルに確保された構造体型のメンバを参照する場合、最適化され無い事が指摘されていたが、それと同じことが原因。
C/C++ではポインタや参照があるのでグローバル変数やグローバルなオブジェクトのメンバ変数が変化しないことをコンパイラが見極めるのが難しい。
327デフォルトの名無しさん
2020/02/07(金) 10:52:27.65ID:VWyX2qgb for(auto i=v.size()+1; 0<len; --i)
for(auto i : my_range(v.size())
for(auto i : my_range(v.size())
328デフォルトの名無しさん
2020/02/07(金) 11:01:57.61ID:52vnIbYM reverse_iterator first(v.end()), last(v.begin());
for_each(first, last, [](auto& x) { cout << x; });
for_each(first, last, [](auto& x) { cout << x; });
329デフォルトの名無しさん
2020/02/07(金) 11:41:09.54ID:jtk/IwGo 64bit/32bitまたぎできるソース汎用性を考えれば、負の数が必要ないなら size_tを使うのが最善でしょ。
330デフォルトの名無しさん
2020/02/07(金) 12:00:59.89ID:VWyX2qgb size_tはunsignedなのがうざい
c言語初心者が決めただろこれ
c言語初心者が決めただろこれ
331デフォルトの名無しさん
2020/02/07(金) 12:07:12.14ID:VWyX2qgb あ、上にかいたやつ+1は間違いや
332デフォルトの名無しさん
2020/02/07(金) 12:12:42.12ID:52vnIbYM ポインタ + size_t == ポインタ
ポインタ - ポインタ == ptrdiff_t
おかしいね
ポインタ - ポインタ == ptrdiff_t
おかしいね
333デフォルトの名無しさん
2020/02/07(金) 12:33:14.78ID:8FC0VQS8334デフォルトの名無しさん
2020/02/07(金) 12:48:40.15ID:Nrn3Ov0h indexにintはlp64環境だと怖すぎる
335デフォルトの名無しさん
2020/02/07(金) 12:51:13.27ID:cytAyAiU そんなバカでかいインデックス作る方が怖い
336デフォルトの名無しさん
2020/02/07(金) 13:01:32.69ID:jtk/IwGo ファイルポインタは4GB越えが当たり前だし。
337デフォルトの名無しさん
2020/02/07(金) 13:18:28.90ID:8FC0VQS8 ばかでかいループをたくさん作るなら
性能を心配した方が良い
中身にもよるが、ほぼメモリアクセス時間になりかねない
帯域の無駄遣い
ループをまとめるとか細切れにするとか
キャッシュを有効に使う処理にしないと
キャストのコストとか完全に誤差
性能を心配した方が良い
中身にもよるが、ほぼメモリアクセス時間になりかねない
帯域の無駄遣い
ループをまとめるとか細切れにするとか
キャッシュを有効に使う処理にしないと
キャストのコストとか完全に誤差
338デフォルトの名無しさん
2020/02/07(金) 13:30:18.43ID:QoBXk/kf メモリポインタも4GB超えは当たり前だしな
339デフォルトの名無しさん
2020/02/07(金) 13:33:10.28ID:52vnIbYM 8086時代の苦しみを知っている人なら
リニアでないポインタやインデックスが
どんなにウザいものかよく知っている
64bit空間なら64bitを使っとけって悪いこと言わないから
リニアでないポインタやインデックスが
どんなにウザいものかよく知っている
64bit空間なら64bitを使っとけって悪いこと言わないから
340デフォルトの名無しさん
2020/02/07(金) 13:45:59.17ID:8FC0VQS8 ループの中身も知らないで良く言うね
int変換必須なら問題点の場所を移動させただけ
int変換必須なら問題点の場所を移動させただけ
341デフォルトの名無しさん
2020/02/07(金) 13:58:09.08ID:jtk/IwGo 今日日4GB越えとかWindowsNT4.0サービスパックですか、と。
342デフォルトの名無しさん
2020/02/07(金) 14:12:43.62ID:PWhN+bN7 納品したときに
コンパイルで警告出るんですが消してって言われて
それ無視して良い警告ですよって言っても
理解してもらえなかった派
コンパイルで警告出るんですが消してって言われて
それ無視して良い警告ですよって言っても
理解してもらえなかった派
343デフォルトの名無しさん
2020/02/07(金) 14:19:34.17ID:PWhN+bN7 あと警告が出ないからと言って
正しく動くと保証されている訳でもなんでもないのに
正しく動くと保証されている訳でもなんでもないのに
344デフォルトの名無しさん
2020/02/07(金) 14:32:07.46ID:VWyX2qgb345デフォルトの名無しさん
2020/02/07(金) 14:34:22.92ID:jtk/IwGo 客先と同じビルド環境で警告対応しないのは落ち度だね。次の仕事なくなるでしょ。
346デフォルトの名無しさん
2020/02/07(金) 14:40:57.67ID:/rNOv2pQ >>333
BYTE v[数値];
のような生配列の場合、ループの中のv[i]は、最適化が効いてものすごく効率の良いコードになることが多い。
この場合、vがグローバルに確保されたオブジェクトや参照型であったとしても最適化には余り悪影響はない。
vがstd::vector 型の場合で、かつ、vがグローバル・オブジェクトや、参照型の場合は、コンパイラはv[i]を上手く最適化できないかもしれない。
BYTE v[数値];
のような生配列の場合、ループの中のv[i]は、最適化が効いてものすごく効率の良いコードになることが多い。
この場合、vがグローバルに確保されたオブジェクトや参照型であったとしても最適化には余り悪影響はない。
vがstd::vector 型の場合で、かつ、vがグローバル・オブジェクトや、参照型の場合は、コンパイラはv[i]を上手く最適化できないかもしれない。
347デフォルトの名無しさん
2020/02/07(金) 14:42:08.26ID:/rNOv2pQ348デフォルトの名無しさん
2020/02/07(金) 14:47:50.81ID:5UxOF8qK >>346
VCはvectorでも生ポインタに近い最適化はしてくれてるみたいだぞ
VCはvectorでも生ポインタに近い最適化はしてくれてるみたいだぞ
349デフォルトの名無しさん
2020/02/07(金) 15:03:24.58ID:jtk/IwGo 客や同僚から使えないプログラマ認定されていることに気づけず独りよがりな考えに凝り固まる人いるよね・・・
かわいそうではあるけど、かかわりたくないタイプの人。
かわいそうではあるけど、かかわりたくないタイプの人。
350はちみつ餃子 ◆8X2XSCHEME
2020/02/07(金) 15:15:12.08ID:BIRgOLIs 標準ライブラリのコンテナのイテレータを sizeof で見ればわかるが、ほとんどの場合で void* と同じ大きさ。
要するにポインタ一個分の情報しかないし、実際ポインタが入ってるし、ポインタの操作になってる。
しいて言えば操作がメンバ関数経由になる分のコストはあるといえばあるけど、
それくらいのインライン展開はするのが普通でしょ。
vector の場合だと領域が連続する保証があるのでインライン展開だけでイテレータはポインタと同じになる。
VC のコンテナだとデバッグモードではイテレータが少し大きい (のと範囲チェックとかする) ってなことらしいんだが、
処理系をインストールしてないから試してない。
要するにポインタ一個分の情報しかないし、実際ポインタが入ってるし、ポインタの操作になってる。
しいて言えば操作がメンバ関数経由になる分のコストはあるといえばあるけど、
それくらいのインライン展開はするのが普通でしょ。
vector の場合だと領域が連続する保証があるのでインライン展開だけでイテレータはポインタと同じになる。
VC のコンテナだとデバッグモードではイテレータが少し大きい (のと範囲チェックとかする) ってなことらしいんだが、
処理系をインストールしてないから試してない。
351デフォルトの名無しさん
2020/02/07(金) 15:20:21.87ID:E/TdO4KU >>349
おまえがきちんとした仕様を提案できないで投げっぱにしてるからそんなことになってんじゃないの?
おまえがきちんとした仕様を提案できないで投げっぱにしてるからそんなことになってんじゃないの?
352デフォルトの名無しさん
2020/02/07(金) 17:16:18.19ID:52vnIbYM353デフォルトの名無しさん
2020/02/07(金) 17:31:01.39ID:Nrn3Ov0h intだとたったの2G要素でオーバーフローして無限ループになるのが怖い
354デフォルトの名無しさん
2020/02/07(金) 17:31:33.35ID:yxrGSGnH イテレータよりポインタのほうが速いよ。
ホントだよ。
いまベンチとってるから。
偶然だけど。
ホントだよ。
いまベンチとってるから。
偶然だけど。
355デフォルトの名無しさん
2020/02/07(金) 17:34:39.39ID:jtk/IwGo >>351
「無視して良い警告」とか勝手に判断する困ったPGにきちんと仕様を提案しても無駄でしょ。解雇するわ。
「無視して良い警告」とか勝手に判断する困ったPGにきちんと仕様を提案しても無駄でしょ。解雇するわ。
356デフォルトの名無しさん
2020/02/07(金) 17:37:50.00ID:PWhN+bN7 unsigned だと
for(unsigned i = s.size(); --i >= 0; ){...}
みたいなので警告出るんだっけ
for(unsigned i = s.size(); --i >= 0; ){...}
みたいなので警告出るんだっけ
357デフォルトの名無しさん
2020/02/07(金) 17:41:09.31ID:Nrn3Ov0h 警告で指摘された問題点に対処もせずに、キャストやらで無理やり消す位なら、出たまま放置の方が100倍マシ
358デフォルトの名無しさん
2020/02/07(金) 17:43:22.94ID:yxrGSGnH ヒープ作るとき、マイナスの値は空きノードのリンクリストに使ったりするので、その手の比較は多発する。
359はちみつ餃子 ◆8X2XSCHEME
2020/02/07(金) 17:43:55.24ID:BIRgOLIs うーん、近頃はちょっとした作法レベルのところまで警告として口出しすることがあるからなぁ。
完全に規格に沿って書いてるわ! ってときにはイラッとすることもある。
個別に警告オプションを設定するのも面倒くせぇし、直してしまう方が手っ取り早かったりもするんだけど、
何がなんでも警告をゼロにしろって言われたら警告レベルを低くする対処をしちゃうかも。
完全に規格に沿って書いてるわ! ってときにはイラッとすることもある。
個別に警告オプションを設定するのも面倒くせぇし、直してしまう方が手っ取り早かったりもするんだけど、
何がなんでも警告をゼロにしろって言われたら警告レベルを低くする対処をしちゃうかも。
360デフォルトの名無しさん
2020/02/07(金) 17:52:14.97ID:VWyX2qgb 仕事ではやってんなら手を抜くなぼけ
pragmaとかでなんとでもなるだろ
pragmaとかでなんとでもなるだろ
361デフォルトの名無しさん
2020/02/07(金) 17:55:05.15ID:yxrGSGnH タモリさんは遊びで手を抜くなって言ってた。
362デフォルトの名無しさん
2020/02/07(金) 17:57:41.44ID:jtk/IwGo 従来cppcheckなどの静的解析ツールが出していた警告をコンパイラも出すようになってくれたのは良い動き。
親切なコンパイラに感謝して警告箇所の修正をやればいい。
修正に工数がかかることが懸念されるなら、依頼主にその旨を伝えればいい。
親切なコンパイラに感謝して警告箇所の修正をやればいい。
修正に工数がかかることが懸念されるなら、依頼主にその旨を伝えればいい。
363デフォルトの名無しさん
2020/02/07(金) 18:05:13.97ID:kNxPhPNR364デフォルトの名無しさん
2020/02/07(金) 18:14:59.44ID:CaNLgYal 雑魚ほどイキがるのはプログラマも同じ
365デフォルトの名無しさん
2020/02/07(金) 18:23:59.39ID:yxrGSGnH カバレッジ測定のツールって安いの無いのかな。
366はちみつ餃子 ◆8X2XSCHEME
2020/02/07(金) 18:36:35.61ID:BIRgOLIs >>360
俺はプログラミングについては趣味者だから実務のことは知らんのだわ。
すまんな。
しかしな、必要以上の品質にするくらいなら手抜きで安くしろって言う客の方が多いと思うぞ。
必要より下になったらあかんのでそこを制御していい感じの
手抜き具合にするのが難しいわけだが、そこを上手くやるのが
手抜きしないことよりもプロに必要な資質じゃね?
手抜きしないよりも適切に手を抜く、どうやって手抜きするか知っていることが大事だ。
仕事は経済的に割に合う形でしか継続できないんだからさ。
そりゃあいつも十全な仕事が出来る時間的・経済的余裕があるならうれしいが、
現実はそうではないだろ。
俺はプログラミングについては趣味者だから実務のことは知らんのだわ。
すまんな。
しかしな、必要以上の品質にするくらいなら手抜きで安くしろって言う客の方が多いと思うぞ。
必要より下になったらあかんのでそこを制御していい感じの
手抜き具合にするのが難しいわけだが、そこを上手くやるのが
手抜きしないことよりもプロに必要な資質じゃね?
手抜きしないよりも適切に手を抜く、どうやって手抜きするか知っていることが大事だ。
仕事は経済的に割に合う形でしか継続できないんだからさ。
そりゃあいつも十全な仕事が出来る時間的・経済的余裕があるならうれしいが、
現実はそうではないだろ。
367デフォルトの名無しさん
2020/02/07(金) 18:40:56.99ID:jtk/IwGo369デフォルトの名無しさん
2020/02/07(金) 18:51:12.38ID:ZYtSuiu/ DirectX関連使ってるとenumよりenum classを優先しますという警告出るんだけど、ライブラリ変えるわけにもいかなく、どう対応するのが正解なんだろ?
370デフォルトの名無しさん
2020/02/07(金) 18:58:20.00ID:HVBpNa40 そもそも警告って規格で定められている訳でもなく、コンパイラが独自の基準で勝手に出してくる物だからね
mutableは悪だってconst付いてない変数全てに警告出すコンパイラとか出てきたらどうするんだろう
mutableは悪だってconst付いてない変数全てに警告出すコンパイラとか出てきたらどうするんだろう
371デフォルトの名無しさん
2020/02/07(金) 19:03:54.90ID:jtk/IwGo >>370
議論のための議論とか、言いがかりのような仮定の話に、いちいち付き合わないことが重要。
議論のための議論とか、言いがかりのような仮定の話に、いちいち付き合わないことが重要。
372デフォルトの名無しさん
2020/02/07(金) 19:04:25.00ID:/AlUflk/ >>365
とりあえずgprofでいいんじゃね?
とりあえずgprofでいいんじゃね?
373デフォルトの名無しさん
2020/02/07(金) 19:08:56.34ID:yxrGSGnH >>372
見てみます。
見てみます。
374はちみつ餃子 ◆8X2XSCHEME
2020/02/07(金) 19:25:21.94ID:BIRgOLIs375デフォルトの名無しさん
2020/02/07(金) 19:30:53.52ID:9DO99WJ1 いやそれはカッコ付けろよ
376デフォルトの名無しさん
2020/02/07(金) 19:33:08.02ID:jtk/IwGo >>374
趣味でしかやってない人の意見なんて無視しろ、というが私の回答です。
趣味でしかやってない人の意見なんて無視しろ、というが私の回答です。
377デフォルトの名無しさん
2020/02/07(金) 19:39:25.14ID:1PiYJQ+8 >>374
それは括弧つけろよ
それは括弧つけろよ
379デフォルトの名無しさん
2020/02/07(金) 19:55:08.75ID:yxrGSGnH はちみつ先生は何を作ってるんですか?
380はちみつ餃子 ◆8X2XSCHEME
2020/02/07(金) 20:28:02.80ID:BIRgOLIs >>379
ゲームのチートツールとか。
汎用的な便利なツールは色々とあるけど、個別のソフトをいじるには行き届かないこともあるので。
念のため言っとくけど買い切りの RPG かフリーゲームだけ。 ネットゲームはやってないよ。
ちなみにそのツールは公開してない。
その他に作った有用そうなものは公開してるんで、身バレするから言えない。
ゲームのチートツールとか。
汎用的な便利なツールは色々とあるけど、個別のソフトをいじるには行き届かないこともあるので。
念のため言っとくけど買い切りの RPG かフリーゲームだけ。 ネットゲームはやってないよ。
ちなみにそのツールは公開してない。
その他に作った有用そうなものは公開してるんで、身バレするから言えない。
381デフォルトの名無しさん
2020/02/07(金) 20:52:16.35ID:yxrGSGnH382デフォルトの名無しさん
2020/02/07(金) 20:56:00.11ID:jtk/IwGo つまり、はちみつ某は、なんの思い入れもない他人のソースを読まされる身になった経験が少ないわけか。
383デフォルトの名無しさん
2020/02/07(金) 21:02:52.46ID:yxrGSGnH アルゴリズム考えるときは、図を必ず書くと思うんだけど、皆さんは何を使ってますか?
いまは紙と鉛筆使ってるんだけど、探すの大変だから、ソフトに変えたい。
いまは紙と鉛筆使ってるんだけど、探すの大変だから、ソフトに変えたい。
384はちみつ餃子 ◆8X2XSCHEME
2020/02/07(金) 21:05:36.03ID:BIRgOLIs >>382
せやな。
そんなわけで、他人のバイナリを見る機会はあるけどソースはそれほどでもって感じかも。
結果的に読まなきゃならないことはあるけど、所詮は趣味だから嫌になったらいつでも止められるし、急がなくてもいいし。
プレッシャーに晒されながらクソみたいなソースを読むってことはない。
せやな。
そんなわけで、他人のバイナリを見る機会はあるけどソースはそれほどでもって感じかも。
結果的に読まなきゃならないことはあるけど、所詮は趣味だから嫌になったらいつでも止められるし、急がなくてもいいし。
プレッシャーに晒されながらクソみたいなソースを読むってことはない。
385デフォルトの名無しさん
2020/02/07(金) 21:05:49.82ID:E/TdO4KU たまに書く方がいい
字を忘れる
字を忘れる
386デフォルトの名無しさん
2020/02/07(金) 21:09:26.55ID:y0pPi+zA C++なんざ仕事で嫌々書かされるだけの言語だと思ったけど
趣味で使っちゃう子もおるんやな
趣味で使っちゃう子もおるんやな
387はちみつ餃子 ◆8X2XSCHEME
2020/02/07(金) 21:12:24.23ID:BIRgOLIs >>383
曖昧なところから思考を整理するなら紙と鉛筆でいいと思うけど、
それなりに書式の整ったようにするなら PlantUML とか。
GUI で自由にってことなら Dynamic Draw くらいが手頃かもしれない。
曖昧なところから思考を整理するなら紙と鉛筆でいいと思うけど、
それなりに書式の整ったようにするなら PlantUML とか。
GUI で自由にってことなら Dynamic Draw くらいが手頃かもしれない。
388デフォルトの名無しさん
2020/02/07(金) 21:15:03.53ID:jtk/IwGo 完全な趣味目的でC++を触る変態はそうそういないと思う。
389デフォルトの名無しさん
2020/02/07(金) 21:16:30.24ID:52vnIbYM >>386
禿1読んで信者になった変態もおるんやで
禿1読んで信者になった変態もおるんやで
390はちみつ餃子 ◆8X2XSCHEME
2020/02/07(金) 21:16:36.84ID:BIRgOLIs >>386
ゲームのチートとかするために
既存のプロセスに割り込んだりする処理を書こうと思うと C か C++ くらいしかまともな選択肢なくね?
C で足りるなら C で済ませることもあるけど、もうちょっと高級なことがしたくなったら C++
ってのは妥当な選択肢というか、唯一解でしょ。
まあ近頃は Rust にも興味があるけど……。
ゲームのチートとかするために
既存のプロセスに割り込んだりする処理を書こうと思うと C か C++ くらいしかまともな選択肢なくね?
C で足りるなら C で済ませることもあるけど、もうちょっと高級なことがしたくなったら C++
ってのは妥当な選択肢というか、唯一解でしょ。
まあ近頃は Rust にも興味があるけど……。
391デフォルトの名無しさん
2020/02/07(金) 21:37:46.79ID:yxrGSGnH >>387
見てみます。
見てみます。
392デフォルトの名無しさん
2020/02/07(金) 22:05:07.56ID:8FC0VQS8393デフォルトの名無しさん
2020/02/07(金) 22:14:56.42ID:8FC0VQS8 カッコつけろって人
付ける付けないの基準はコンパイラの警告?
完全に優先順位を覚えてる人から見ると
カッコが多いと見にくいんだよ
a == 0 || b != 0
a * b + 1
*a[i]
*a++
こんなのにカッコつけてたら
えっ?何か意味があるの?って考えてしまう
付ける付けないの基準はコンパイラの警告?
完全に優先順位を覚えてる人から見ると
カッコが多いと見にくいんだよ
a == 0 || b != 0
a * b + 1
*a[i]
*a++
こんなのにカッコつけてたら
えっ?何か意味があるの?って考えてしまう
394デフォルトの名無しさん
2020/02/07(金) 22:26:24.78ID:52vnIbYM > えっ?何か意味があるの?
いや、「あーまた面倒くさいやつ来やがった」だよ
いや、「あーまた面倒くさいやつ来やがった」だよ
395デフォルトの名無しさん
2020/02/07(金) 22:52:28.44ID:GxNDg+Fe 実務経験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
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
396デフォルトの名無しさん
2020/02/07(金) 22:55:11.74ID:NUR9HIfz 優先順位を完全に把握しているなら機能的には意味のない括弧だと理解しているんだろうが
そのうえで疑問に思った「意味」って、どんなものを想定しているんだろう。
「優先順位を完全に把握していない人が間違えないように」くらいの意味しか思いつかないが。
そのうえで疑問に思った「意味」って、どんなものを想定しているんだろう。
「優先順位を完全に把握していない人が間違えないように」くらいの意味しか思いつかないが。
397デフォルトの名無しさん
2020/02/07(金) 22:59:52.10ID:8FC0VQS8 (a + b + c) + (d + e)
同じ型の整数5個を足すのにこんなカッコが付いてたらどう思う?
同じ型の整数5個を足すのにこんなカッコが付いてたらどう思う?
398デフォルトの名無しさん
2020/02/07(金) 23:17:13.31ID:NUR9HIfz399デフォルトの名無しさん
2020/02/07(金) 23:24:04.71ID:8FC0VQS8400デフォルトの名無しさん
2020/02/07(金) 23:24:42.60ID:jtk/IwGo 協業できない人があれこれC++について論じるのは害でしかない。
401デフォルトの名無しさん
2020/02/07(金) 23:31:57.60ID:Uosz/SQM まずプログラム言語っての読み書きする人間のためにあるって大前提忘れてるか自覚してないやつ多いな
402デフォルトの名無しさん
2020/02/07(金) 23:34:58.95ID:NUR9HIfz403デフォルトの名無しさん
2020/02/07(金) 23:36:27.96ID:Fqx20dQ+ >>397のようなコードを見てどう思う?
404デフォルトの名無しさん
2020/02/07(金) 23:39:04.16ID:jtk/IwGo 見やすいかどうかは主観なので、他人や未来の自分が読んで誤解しないようにすることが肝でしょ。
まさか、「数値リテラルの桁区切り文字」にまでかみついたりしないよね?
https://cpprefjp.github.io/lang/cpp14/digit_separators.html
まさか、「数値リテラルの桁区切り文字」にまでかみついたりしないよね?
https://cpprefjp.github.io/lang/cpp14/digit_separators.html
405デフォルトの名無しさん
2020/02/07(金) 23:41:49.81ID:yMJLmx4v 主観で見やすい表記にする
その為にコンパイラの警告を無視したり切ったりする
何も問題無い
その為にコンパイラの警告を無視したり切ったりする
何も問題無い
406い
2020/02/08(土) 00:06:08.38ID:Wxs8WSK9 >>374
> >>371
> 変な作法が追加されることなんて良くあるんだぞ。
> 今じゃ gcc や clang で -Wall オプションを付けたら
> a || b && c
> みたいな式にすら警告が出る。
> 優先順位を間違えやすいとこだから括弧で明示した方が良いんだと!
> 演算子の優先順位くらい把握しとるわ!
把握してても間違えやすいからだと思うね
実際にはa,b,cには比較演算子を使った式が入ることが多いだろう
そうするとけっこうな長さになったりする
で全体の構造が見えにくくなる
そりゃ書いてる真っ最中は問題ないさ
しかし後から読んだときにすぐ理解できなかったり、手を加えるときに間違えたりする
warningを出すべきかは議論の余地があると思うけど、
出すべきと考える理由はわかる
> >>371
> 変な作法が追加されることなんて良くあるんだぞ。
> 今じゃ gcc や clang で -Wall オプションを付けたら
> a || b && c
> みたいな式にすら警告が出る。
> 優先順位を間違えやすいとこだから括弧で明示した方が良いんだと!
> 演算子の優先順位くらい把握しとるわ!
把握してても間違えやすいからだと思うね
実際にはa,b,cには比較演算子を使った式が入ることが多いだろう
そうするとけっこうな長さになったりする
で全体の構造が見えにくくなる
そりゃ書いてる真っ最中は問題ないさ
しかし後から読んだときにすぐ理解できなかったり、手を加えるときに間違えたりする
warningを出すべきかは議論の余地があると思うけど、
出すべきと考える理由はわかる
407デフォルトの名無しさん
2020/02/08(土) 00:38:17.76ID:RKzyJDHj それはエディタの機能でかっこを表示したら良いのでは。
408デフォルトの名無しさん
2020/02/08(土) 00:57:11.32ID:GuOhFnKw 主観は重要だろう。
重要でないなら全部アセンブラで書けや。
客観的には最も性能の出る言語だぞ。
重要でないなら全部アセンブラで書けや。
客観的には最も性能の出る言語だぞ。
409デフォルトの名無しさん
2020/02/08(土) 01:23:28.05ID:Mdfh1mSi &,|とか&&,||は*,+の関係と同じだから括弧つける方が冗長で分かりづらくなると思うんだが
410デフォルトの名無しさん
2020/02/08(土) 01:29:21.53ID:zzucbZgG 一度書いた四則演算の数式を書き換えることはほとんどないけど、bool論理演算は頻繁に書き換えるでしょ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- (´・ω・`)おはよ
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- 【画像】カリカリ女、脱いだらすごい😨 [632966346]
- くそしてかがやけ
- 🪬本日のコンマ占い🧿
