次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137
http://mevius.5ch.net/test/read.cgi/tech/1531558382/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1530384293/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
C++相談室 part138
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん (スフッ Sd9f-fGne)
2018/08/05(日) 18:02:36.57ID:DigzqJtZd811デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/14(土) 06:19:13.04ID:2PNj6NH40 ループの先頭から入って
ループの後ろで条件判断するコードが
動作的に一番無駄が少ない
だから do while が存在する
コンパイラの最適化も糞でCPUも遅くメモリも少ない時代に出来た言語
1回以上通る事がわかっているループは
do whilw の方が良い
コンパイラが1回以上通る事がわからないと
無駄なジャンプ命令が増えるので
ループの後ろで条件判断するコードが
動作的に一番無駄が少ない
だから do while が存在する
コンパイラの最適化も糞でCPUも遅くメモリも少ない時代に出来た言語
1回以上通る事がわかっているループは
do whilw の方が良い
コンパイラが1回以上通る事がわからないと
無駄なジャンプ命令が増えるので
812デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/14(土) 06:22:59.24ID:2PNj6NH40 do (int i = 0){
} while (i < size);
こんな書き方が出来れば良かった
} while (i < size);
こんな書き方が出来れば良かった
813デフォルトの名無しさん (ワッチョイ 62b9-EeVI)
2019/12/14(土) 06:29:27.00ID:u9FlXKU00 読みやすいfor文がええわ。
814デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/14(土) 06:35:32.14ID:2PNj6NH40 読みやすさよりも1バイトでも短く
1サイクルでも速く
な時代の話
1サイクルでも速く
な時代の話
815デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/14(土) 06:46:30.22ID:2PNj6NH40 for (int i = 0 ; ; ){
if (i < size) continue;
break;
}
う〜ん...
if (i < size) continue;
break;
}
う〜ん...
816デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/14(土) 08:14:01.65ID:x6gTDhtk0 >>821
見やすさなら従来通りの do-while がいい。問題はスコープなだけで。
do {
bool flag = ...
} while (flag);
頭でflagを確定させられる場合は、これはいわゆる従来記法
while ((line = sr->Readline())!=nullptr) {
...
}
とほぼ等価になる。が、(本来の)今風なのは上側の do-while だと思う。
なおfor文で do-while はGoがやっていて、
for (bool flag=true; flag; flag = update_flag()) {
}
の構成らしい。ただこれは見る限り駄目だろ。
ただし確かに実行コードとしては、頭の条件判定が抜けるだけでしかない。
以下を見れば一瞬で「絶対に一度は入る」とは分かるから、
コンパイラが最適化してくれるのなら、行数が1行増えること以外には問題はない。
が、俺はこの1行にもこだわりたいんだが。
while (1) {
...
if (condition) break;
}
見やすさなら従来通りの do-while がいい。問題はスコープなだけで。
do {
bool flag = ...
} while (flag);
頭でflagを確定させられる場合は、これはいわゆる従来記法
while ((line = sr->Readline())!=nullptr) {
...
}
とほぼ等価になる。が、(本来の)今風なのは上側の do-while だと思う。
なおfor文で do-while はGoがやっていて、
for (bool flag=true; flag; flag = update_flag()) {
}
の構成らしい。ただこれは見る限り駄目だろ。
ただし確かに実行コードとしては、頭の条件判定が抜けるだけでしかない。
以下を見れば一瞬で「絶対に一度は入る」とは分かるから、
コンパイラが最適化してくれるのなら、行数が1行増えること以外には問題はない。
が、俺はこの1行にもこだわりたいんだが。
while (1) {
...
if (condition) break;
}
817デフォルトの名無しさん (アウアウエー Sa3a-XGub)
2019/12/14(土) 08:16:23.01ID:tW2KoQAYa while (1) が見やすいよ。
かっこよさはさておき。
かっこよさはさておき。
818デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/14(土) 08:46:39.98ID:x6gTDhtk0 >>817
現実的には俺もそうしている。
ただ、最近は、「こう書ければな」と考えながら書くのが重要なのだと思うようになった。
少なくとも、DI(Dependency Injection)とかの問題は自然と回避出来る。
そこでコードを見てて、ふと思ったわけだ。
この if 文、do-whileのスコープが正しければ削除出来るよなと。
ただ、他言語も特に対応していない状況であれば、今現在は
コンパイラに任せて、ユーザーはど定番の記述を書け、ということなのだろう。
現実的には俺もそうしている。
ただ、最近は、「こう書ければな」と考えながら書くのが重要なのだと思うようになった。
少なくとも、DI(Dependency Injection)とかの問題は自然と回避出来る。
そこでコードを見てて、ふと思ったわけだ。
この if 文、do-whileのスコープが正しければ削除出来るよなと。
ただ、他言語も特に対応していない状況であれば、今現在は
コンパイラに任せて、ユーザーはど定番の記述を書け、ということなのだろう。
819デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/14(土) 09:28:57.52ID:2PNj6NH40820デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/14(土) 09:33:02.46ID:2PNj6NH40821デフォルトの名無しさん (ワッチョイ 62db-X5Um)
2019/12/14(土) 09:48:01.39ID:SZLGcxYz0 最近のコンパイラは最適化を指示するまでは
いらんことしなくなってきてるね
いらんことしなくなってきてるね
822デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/14(土) 10:33:51.54ID:2PNj6NH40 ステップ実行出来ないと困るから
823デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/14(土) 11:14:39.14ID:x6gTDhtk0 >>819
結局お前の意見は何なんだ?
俺の意見は、「do-whileはforと同様にスコープを{}の外まで拡張すべきだった」というものだ。
つまり、再記するが以下の書き方が出来るのが『正しい言語』と考える。
do {
bool flag = ...
} while (flag);
現行のC言語では、for文以外はスコープを {} 内に物理的に配置したものに限定しており、
for文だけ例外的に ()までスコープを拡張している。
C++17でif文とswitch文も拡張された。
https://cpprefjp.github.io/lang/cpp17/selection_statements_with_initializer.html
なら何故 do-while もそうしなかったのか?という話だ。
俺はC++23に期待するが。
結局お前の意見は何なんだ?
俺の意見は、「do-whileはforと同様にスコープを{}の外まで拡張すべきだった」というものだ。
つまり、再記するが以下の書き方が出来るのが『正しい言語』と考える。
do {
bool flag = ...
} while (flag);
現行のC言語では、for文以外はスコープを {} 内に物理的に配置したものに限定しており、
for文だけ例外的に ()までスコープを拡張している。
C++17でif文とswitch文も拡張された。
https://cpprefjp.github.io/lang/cpp17/selection_statements_with_initializer.html
なら何故 do-while もそうしなかったのか?という話だ。
俺はC++23に期待するが。
824デフォルトの名無しさん (ワッチョイ e71f-tALz)
2019/12/14(土) 11:16:05.17ID:TuPL6E6l0 do-while使ってる人が少ないからじゃね
825デフォルトの名無しさん (ワッチョイ ff1a-xO71)
2019/12/14(土) 11:20:25.69ID:k5kIl1RN0826デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/14(土) 12:12:20.14ID:2PNj6NH40 提案は>>812に書いたけど
827デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/14(土) 12:13:21.43ID:2PNj6NH40 それを今の文法で書くと
>>815になる
>>815になる
828デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/14(土) 12:23:18.39ID:2PNj6NH40 別に頻繁に使うこともないんで
そう書きゃ良いだけなんだけど
そう書きゃ良いだけなんだけど
829デフォルトの名無しさん (ワッチョイ 574f-xO71)
2019/12/14(土) 12:29:39.35ID:z3Vs03gF0 そこでマクロ定義ですよ。
830デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/14(土) 12:40:35.62ID:x6gTDhtk0 >>824,825
なるほど、提案しろと言うのはごもっともだ。
しかし俺は仕様を提案するほどには仕様に詳しくないからパスだな。
そして確かに同様の人が多いというのは認める。
>>829
それは俺も以前考えた。
Cのマクロはそこでしかパース出来ないので、前に出す事が出来ず、限界がある。
(例えばdo-whileブロック内のflag宣言をwhileよりも前に出すことができない)
そしてそれでも無理矢理やるならいっそのことPython等での自前パーサを先に通すほうがまし、という結論に達した。
そして一部それを既にやっている。
(俺は使ってないが)何だかんだでmakefileが融通が利くのはこういう点でもある。
そして自前パーサで全く別のように見える記述になってきたら、新言語の完成、というわけだ。
C++も同様だったと聞いているし。
なるほど、提案しろと言うのはごもっともだ。
しかし俺は仕様を提案するほどには仕様に詳しくないからパスだな。
そして確かに同様の人が多いというのは認める。
>>829
それは俺も以前考えた。
Cのマクロはそこでしかパース出来ないので、前に出す事が出来ず、限界がある。
(例えばdo-whileブロック内のflag宣言をwhileよりも前に出すことができない)
そしてそれでも無理矢理やるならいっそのことPython等での自前パーサを先に通すほうがまし、という結論に達した。
そして一部それを既にやっている。
(俺は使ってないが)何だかんだでmakefileが融通が利くのはこういう点でもある。
そして自前パーサで全く別のように見える記述になってきたら、新言語の完成、というわけだ。
C++も同様だったと聞いているし。
831デフォルトの名無しさん (ワイーワ2 FFfa-EbeN)
2019/12/14(土) 14:15:29.43ID:TlZt0biiF switch(hoge){
case HAGE: do{}while(0); break;
case FUGA: do{}while(0); break;
default: do{}while(0); break;
}
マクロにするとスコープ問題も解決するしbreak書き忘れも無くなる
case HAGE: do{}while(0); break;
case FUGA: do{}while(0); break;
default: do{}while(0); break;
}
マクロにするとスコープ問題も解決するしbreak書き忘れも無くなる
832デフォルトの名無しさん (ワイーワ2 FFfa-EbeN)
2019/12/14(土) 14:16:22.48ID:TlZt0biiF >>830
QTもその延長にある希ガス
QTもその延長にある希ガス
833デフォルトの名無しさん (ワッチョイ af90-/aG9)
2019/12/14(土) 14:25:44.80ID:bUVFbQd10 int a = 0;
do {
int a = 1;
} while (a);
このコードの挙動が変わってしまうから直せないと思う
do {
int a = 1;
} while (a);
このコードの挙動が変わってしまうから直せないと思う
834デフォルトの名無しさん (ワッチョイ 574f-xO71)
2019/12/14(土) 14:30:23.06ID:z3Vs03gF0 >>830
マジレスされるとは思わなかったけど例えばこんなのとか。C FAQでヤメロと言われてるような。
#define SCOPED_DO(VARS) for(;;) { VARS;
#define SCOPED_WHILE(COND) if(COND) continue; break;}
SCOPED_DO(int i;)
:
SCOPED_WHILE(i<10);
マジレスされるとは思わなかったけど例えばこんなのとか。C FAQでヤメロと言われてるような。
#define SCOPED_DO(VARS) for(;;) { VARS;
#define SCOPED_WHILE(COND) if(COND) continue; break;}
SCOPED_DO(int i;)
:
SCOPED_WHILE(i<10);
835デフォルトの名無しさん (スッップ Sd02-2Nzf)
2019/12/14(土) 14:34:41.93ID:JwYnIOEad ああ、確かにやめた方が良い
836デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/14(土) 16:21:38.04ID:x6gTDhtk0 >>831
すまんがそのコードの意味はよく分からない。
>>834
それはマクロにすることが目的で、見やすいコードを書こうとしていないので、
FAQでなくても止めろと言われて当然だ。
マクロも当然ながら見てすぐ分からないといけない。
この意味ではlinuxのコードが参考になるだろう。
小文字マクロが大量に使われていて、それでも何とかなってる。
逆に言えば、小文字マクロ=関数だと勘違いしても問題ない範囲で使え、ということだ。
どう変換されるかぱっと分からないマクロは逆に読みづらくなる。
ただまあ、ifとswitchの取り扱いからすると、
C: for文が例外で、他は{}がスコープ
C++: do-while文が例外で、スコープを開始出来るキーワード(for/switch/if)ではキーワード部分までスコープに含める
という状況なので、do-whileのスコープも拡張されるのは時間の問題だとも思うが。
すまんがそのコードの意味はよく分からない。
>>834
それはマクロにすることが目的で、見やすいコードを書こうとしていないので、
FAQでなくても止めろと言われて当然だ。
マクロも当然ながら見てすぐ分からないといけない。
この意味ではlinuxのコードが参考になるだろう。
小文字マクロが大量に使われていて、それでも何とかなってる。
逆に言えば、小文字マクロ=関数だと勘違いしても問題ない範囲で使え、ということだ。
どう変換されるかぱっと分からないマクロは逆に読みづらくなる。
ただまあ、ifとswitchの取り扱いからすると、
C: for文が例外で、他は{}がスコープ
C++: do-while文が例外で、スコープを開始出来るキーワード(for/switch/if)ではキーワード部分までスコープに含める
という状況なので、do-whileのスコープも拡張されるのは時間の問題だとも思うが。
837デフォルトの名無しさん (ワッチョイ a201-GBjH)
2019/12/14(土) 16:52:48.59ID:PwUHvw+y0 みんなわかってることを長々書く人
do-whileもかなりどうでもいい
気分だけの問題でそんなとこで困ったこと一度もない
do-whileもかなりどうでもいい
気分だけの問題でそんなとこで困ったこと一度もない
838デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/14(土) 19:17:52.66ID:x6gTDhtk0 >>837
ゆとり死ね
> みんなわかってることを長々書く人
何度も言っているが、お前らゆとりが駄目なのはそういうところだ。
ここで話すのに「俺の人格」なんて全く関係ないし、実際今のところ気にしてた奴なんていないだろ。
お前以外は全員、技術面にフォーカス出来ている。
ゆとりが駄目なのは、結局、こうやって場を一々ぶち壊していくことだ。
結果、ゆとりゴキブリが一匹でも入り込める場は全部ぶち壊されていく。
その結果、ゆとり自身の居場所が無くなっているというのが、現在のお前らを取り巻く状況だ。
お前らゆとりはネット上では何を言ってもいい、何をやってもいいと勘違いしている。
そうじゃない。
自由に意見は言っていいが、コミュニティに対する破壊活動は許容されない。
そしてお前らは何がそれに該当するのかさっぱり理解出来ていない。
しかしお前らはネット慣れしていると勘違いしているからかそれを認めることすら出来ない。
お前らは本当に救いようがない。
おそらくはネットが出現することによって、リアルが希薄になり、
結果、リアルでのコミュニティ(人間関係)を構築することが不得手になっている。
しかしそれは当然ネット上にも適用/応用出来るものであり、結果、ゆとりはコミュ障となっている。
ところがゆとりは誰かがネット上で形成したコミュニティにただ乗りして来れているから、その問題にも気づけない。
それが「コミュ力」とか言われた問題の本質だよ。
それ以前の世代では否応なしに必要とされた最低限の「コミュ力」がゆとりにはない。
(ただしこの意味ではコミュ障害でも生きていける社会に改善された、と考えることも出来るが)
お前の発言によって、コミュニティがどう動くか、少しは考えてから物を言え。
そうじゃないからお前らゆとりはお前ら自身で形成したコミュニティを持てないんだよ。
それにすら気づけないのだろうけど。
ゆとり死ね
> みんなわかってることを長々書く人
何度も言っているが、お前らゆとりが駄目なのはそういうところだ。
ここで話すのに「俺の人格」なんて全く関係ないし、実際今のところ気にしてた奴なんていないだろ。
お前以外は全員、技術面にフォーカス出来ている。
ゆとりが駄目なのは、結局、こうやって場を一々ぶち壊していくことだ。
結果、ゆとりゴキブリが一匹でも入り込める場は全部ぶち壊されていく。
その結果、ゆとり自身の居場所が無くなっているというのが、現在のお前らを取り巻く状況だ。
お前らゆとりはネット上では何を言ってもいい、何をやってもいいと勘違いしている。
そうじゃない。
自由に意見は言っていいが、コミュニティに対する破壊活動は許容されない。
そしてお前らは何がそれに該当するのかさっぱり理解出来ていない。
しかしお前らはネット慣れしていると勘違いしているからかそれを認めることすら出来ない。
お前らは本当に救いようがない。
おそらくはネットが出現することによって、リアルが希薄になり、
結果、リアルでのコミュニティ(人間関係)を構築することが不得手になっている。
しかしそれは当然ネット上にも適用/応用出来るものであり、結果、ゆとりはコミュ障となっている。
ところがゆとりは誰かがネット上で形成したコミュニティにただ乗りして来れているから、その問題にも気づけない。
それが「コミュ力」とか言われた問題の本質だよ。
それ以前の世代では否応なしに必要とされた最低限の「コミュ力」がゆとりにはない。
(ただしこの意味ではコミュ障害でも生きていける社会に改善された、と考えることも出来るが)
お前の発言によって、コミュニティがどう動くか、少しは考えてから物を言え。
そうじゃないからお前らゆとりはお前ら自身で形成したコミュニティを持てないんだよ。
それにすら気づけないのだろうけど。
839デフォルトの名無しさん (ワッチョイ 626e-kui+)
2019/12/14(土) 19:23:47.82ID:sa3jv1WG0 くっさ
840デフォルトの名無しさん (ワッチョイ e201-ECc1)
2019/12/14(土) 19:42:59.23ID:JneJDC0D0841デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/14(土) 20:47:22.30ID:x6gTDhtk0 >>840
StackOverflowの質問の筆者もそうだが、技術的にはやれば出来る程度の問題のはず。
あとは言語としての一貫性(={}をスコープとする)をどこまで厳密に適用するかだ。
ただ俺はこれがおかしな仕様のまま残されていることが奇妙だと思っている。
Cはほぼ変化する気がないからともかくとして、
Cの駄目なところを改善している他の新しい言語(C#等)でもそのままなのに驚いた。
ただ、ifやswitchまで拡張されたのなら、whileもそうだな。
現行
String^ line;
while ((line = sr->Readline())!=nullptr) {
...
}
次?(もしかして今ももう出来る?)
while ((String^ line = sr->Readline())!=nullptr) {
...
}
駄目だ駄目だと言われている条件式内での代入も、カンマ演算子も、上手く使えば美しく書けることに気づいた。
そして駄目だと言われているのは「白黒端末」前提であり、実は
「条件式内で代入演算子を用いた場合、太字にする」とかIDEのサポートがあれば問題ない気がしてきている。
つまりは、見た目気づきにくいから駄目なだけであって、見りゃ分かる、なら問題ないからだ。
だからコーディングルールもカラー端末大画面前提でのルールに変えていくべきなんだよな、とも。
StackOverflowの質問の筆者もそうだが、技術的にはやれば出来る程度の問題のはず。
あとは言語としての一貫性(={}をスコープとする)をどこまで厳密に適用するかだ。
ただ俺はこれがおかしな仕様のまま残されていることが奇妙だと思っている。
Cはほぼ変化する気がないからともかくとして、
Cの駄目なところを改善している他の新しい言語(C#等)でもそのままなのに驚いた。
ただ、ifやswitchまで拡張されたのなら、whileもそうだな。
現行
String^ line;
while ((line = sr->Readline())!=nullptr) {
...
}
次?(もしかして今ももう出来る?)
while ((String^ line = sr->Readline())!=nullptr) {
...
}
駄目だ駄目だと言われている条件式内での代入も、カンマ演算子も、上手く使えば美しく書けることに気づいた。
そして駄目だと言われているのは「白黒端末」前提であり、実は
「条件式内で代入演算子を用いた場合、太字にする」とかIDEのサポートがあれば問題ない気がしてきている。
つまりは、見た目気づきにくいから駄目なだけであって、見りゃ分かる、なら問題ないからだ。
だからコーディングルールもカラー端末大画面前提でのルールに変えていくべきなんだよな、とも。
842デフォルトの名無しさん (ワッチョイ 4277-dkpU)
2019/12/14(土) 22:59:30.18ID:Gc3Mkypl0 {do{}while(cond);}
843デフォルトの名無しさん (ワッチョイ a2b3-n4pN)
2019/12/15(日) 00:28:30.20ID:gPzjm6+r0 >>837
ID:x6gTDhtk0は、ほぼ確実にMIPS君だろw
>自由に意見は言っていいが、コミュニティに対する破壊活動は許容されない。
>そしてお前らは何がそれに該当するのかさっぱり理解出来ていない。
>お前の発言によって、コミュニティがどう動くか、少しは考えてから物を言え。
この前キャリーフラグに関する間違い指摘されたら、100レス以上暴れたのはどこのどいつだよw
ID:x6gTDhtk0は、ほぼ確実にMIPS君だろw
>自由に意見は言っていいが、コミュニティに対する破壊活動は許容されない。
>そしてお前らは何がそれに該当するのかさっぱり理解出来ていない。
>お前の発言によって、コミュニティがどう動くか、少しは考えてから物を言え。
この前キャリーフラグに関する間違い指摘されたら、100レス以上暴れたのはどこのどいつだよw
844デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/15(日) 08:16:45.70ID:TpJAGc8G0 >>843
ゆとり死ね
というか、ゆとりは認めないが、ゆとりの識別能力は恐ろしく低い。
単に「長文である」とか、そういう外面的な情報しか見えてないからだ。
結局これは、いわゆる「コミュ能力」が低いからであって、つまりは相手が見えてないからだ。
当たり前だがネット上でも相手は人間、リアルのコミュ能力が低ければネットでも低くなる。
(ただしリアルとはチューニングがかなり異なるので、
リアルでコミュ力高くてもネット慣れもしてないとちぐはぐな対応になってしまうが)
「空気読め」というのも、逆に言えば、
それまでの奴らは「空気読め」と言われるほど酷い発言/行動はしなかったんだよ。
良いか悪いかはさておき、「○○さんに対してそれはねーわ」が完全に共有されてた。
(ただしこれは本当に悪い側面も持つので、これ自体が破壊されたのは悪くはないかもしれない)
それをゆとりが出てきたおかげで、「空気読め」と言われだした。
そして雰囲気だけで無理強いする奴がそれを濫用し始めておかしな事になってるのが今だ。
お前らはその識別能力の低さを自覚した方がいい。
ゆとり以前の世代はこの自覚があるから、ゆとりレベルでトンチンカンな発言はしない。
俺はその話は知らないし、本来は一々否定することも面倒だからしないが、
いい加減ゆとりにはうんざりしているので、
「どうしてゆとりを排除しなければならないか」を蕩々と述べ、認識を共有することをまず始めることにした。
現状はそこから始めないと駄目だ、というのが俺の認識だ。
どれだけ新しいスレを作っても、良くなってきたらゆとりに破壊されるのを既に何度も繰り返してきたからだ。
ただ、おそらく、ネットを「正しく使える奴」と「間違った使い方しか出来ない奴」に強烈に分化しているのが現状だと思う。
「間違った使い方しか出来てない」奴は、本当によく考えた方がいい。
そして「『間違った使い方しか出来てない』奴(≒」ゆとり)はコミュニティに不要」と
認識を共有した者同士で脱皮しようと言うわけだ。これは既に述べたとおり。
ゆとりは俺を気に入らないようだが、実際、ここに投稿してもすぐにレスが付くだろ。
それは、お前とは違って、「まだこのスレも読む価値がある」と認めている奴も多い、ってことなんだよ。
ゆとり死ね
というか、ゆとりは認めないが、ゆとりの識別能力は恐ろしく低い。
単に「長文である」とか、そういう外面的な情報しか見えてないからだ。
結局これは、いわゆる「コミュ能力」が低いからであって、つまりは相手が見えてないからだ。
当たり前だがネット上でも相手は人間、リアルのコミュ能力が低ければネットでも低くなる。
(ただしリアルとはチューニングがかなり異なるので、
リアルでコミュ力高くてもネット慣れもしてないとちぐはぐな対応になってしまうが)
「空気読め」というのも、逆に言えば、
それまでの奴らは「空気読め」と言われるほど酷い発言/行動はしなかったんだよ。
良いか悪いかはさておき、「○○さんに対してそれはねーわ」が完全に共有されてた。
(ただしこれは本当に悪い側面も持つので、これ自体が破壊されたのは悪くはないかもしれない)
それをゆとりが出てきたおかげで、「空気読め」と言われだした。
そして雰囲気だけで無理強いする奴がそれを濫用し始めておかしな事になってるのが今だ。
お前らはその識別能力の低さを自覚した方がいい。
ゆとり以前の世代はこの自覚があるから、ゆとりレベルでトンチンカンな発言はしない。
俺はその話は知らないし、本来は一々否定することも面倒だからしないが、
いい加減ゆとりにはうんざりしているので、
「どうしてゆとりを排除しなければならないか」を蕩々と述べ、認識を共有することをまず始めることにした。
現状はそこから始めないと駄目だ、というのが俺の認識だ。
どれだけ新しいスレを作っても、良くなってきたらゆとりに破壊されるのを既に何度も繰り返してきたからだ。
ただ、おそらく、ネットを「正しく使える奴」と「間違った使い方しか出来ない奴」に強烈に分化しているのが現状だと思う。
「間違った使い方しか出来てない」奴は、本当によく考えた方がいい。
そして「『間違った使い方しか出来てない』奴(≒」ゆとり)はコミュニティに不要」と
認識を共有した者同士で脱皮しようと言うわけだ。これは既に述べたとおり。
ゆとりは俺を気に入らないようだが、実際、ここに投稿してもすぐにレスが付くだろ。
それは、お前とは違って、「まだこのスレも読む価値がある」と認めている奴も多い、ってことなんだよ。
845デフォルトの名無しさん (ワッチョイ c612-wY8Q)
2019/12/15(日) 10:15:43.33ID:7Mmj/dyw0 相手に伝えたいことを簡潔に表現する能力がない無能なんだから許してやれよw
846デフォルトの名無しさん (アウアウウー Sa3b-rTsI)
2019/12/15(日) 10:22:17.71ID:pyIDDya4a これだから老害はダメ。
847デフォルトの名無しさん (ワッチョイ 4209-X5Um)
2019/12/15(日) 11:27:27.58ID:Q+saMC6e0 https://eigo-box.jp/others/jokes/#idiot
これを地で行くやつw
これを地で行くやつw
848デフォルトの名無しさん (ワッチョイ 4209-X5Um)
2019/12/15(日) 11:28:04.52ID:Q+saMC6e0849デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/15(日) 11:39:59.90ID:TpJAGc8G0850デフォルトの名無しさん (ワッチョイ a201-GBjH)
2019/12/15(日) 11:51:44.14ID:PfQY9kAx0 鬱積したもんがあるんだろうね
ここに渾身の長文書いたら皆が読んで敵は打ちひしがれ、味方は共感してくれると思ってるところが
こいつのかわいいところであり、哀れであるところ
ここに渾身の長文書いたら皆が読んで敵は打ちひしがれ、味方は共感してくれると思ってるところが
こいつのかわいいところであり、哀れであるところ
851デフォルトの名無しさん (ワッチョイ 4209-X5Um)
2019/12/15(日) 11:57:15.36ID:Q+saMC6e0 >>850
www
www
852デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/15(日) 13:08:21.74ID:TpJAGc8G0853デフォルトの名無しさん (ワッチョイ 4209-X5Um)
2019/12/15(日) 13:16:19.97ID:Q+saMC6e0 その「意味があること」とやらを、おまえさんは伝えたいのか?
伝えたいのに伝わらないという問題に直面したとき
どうすれば伝わるか考えるという科学はしているのか?
伝えたいのに伝わらないという問題に直面したとき
どうすれば伝わるか考えるという科学はしているのか?
854デフォルトの名無しさん (ワッチョイ 8252-EeVI)
2019/12/15(日) 13:18:32.30ID:K1ul1r/C0 >>852
相手がゆとり世代かどうかも分からないのにそう決めつけたり、ゆとり世代というレッテルで一括りにしたり、非論理的な主張をするお前も無能だろう
相手がゆとり世代かどうかも分からないのにそう決めつけたり、ゆとり世代というレッテルで一括りにしたり、非論理的な主張をするお前も無能だろう
855デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/15(日) 14:31:16.94ID:TpJAGc8G0 >>853-854
ゆとり死ね
そう思うならそれでいい。
俺の文がお前ら宛だと思っているのはお前らの勘違いでしかない。
俺は今ここを読んでいるが特に文句を言ってない連中、或いは将来的にここを読む奴宛に書いている。
彼等がどう思うかだよ。
ワッチョイ確認すれば分かるが、
実際、今回技術面にフォーカスしてきちんと議論出来ている人は、誰一人として文句を言ってないだろ。
一方、お前らゆとりは文句しか言ってない。
これが、既に言った、「正しく使える奴」と「間違った使い方しか出来ない奴」(≒ゆとり)の差だよ。
本来、コミュニティに対して生産的でない奴には発言権もないべきなんだよ。
それはリアルでは当然そうなっていて、会社で無能に発言権がないのもこれでしかない。
ところがネットではゆとりみたいなクズでもどのコミュニティに対しても自由に参加出来るものだから、
お前らゆとりはそういうものだと勘違いしてしまっている。
結果、お前らゆとり自体が本質的にクズ人間集団のように以前の世代から見たら思えてしまう。
これがゆとり問題の根元だよ。
そして問題は、このことを、お前らゆとりも、また、以前の世代も、意識出来ていないことだ。
ここがC++技術のスレなら、最低限、C++技術に関しての発言をする/した奴にしか発言権はない。
俺に文句を言う前に、お前らが何らかの「スレを盛り上げる為のC++技術論」を展開して、
コミュニティに対して生産的に寄与してからでないと、発言権はないんだ。
これは本当に当たり前のことなんだよ。
(というか、そうしないとコミュニティが崩壊して存続出来ないから、
存在しているコミュニティは本質的にそういうものとなる)
ゆとりでも分かるように言えば、リアルでシカトされるような行動/発言はネットでも慎むべきなんだよ。
まあもっとも、お前らゆとりはリアルでも「ないわ〜」な行動をしてブッ叩かれていたわけだが。
再度言うが、文句を言う前に何か他人を巻き込んで盛り上がるC++技術論を展開しろ。
そして俺にマウント取りたいのならC++技術論で来い。
ゆとり死ね
そう思うならそれでいい。
俺の文がお前ら宛だと思っているのはお前らの勘違いでしかない。
俺は今ここを読んでいるが特に文句を言ってない連中、或いは将来的にここを読む奴宛に書いている。
彼等がどう思うかだよ。
ワッチョイ確認すれば分かるが、
実際、今回技術面にフォーカスしてきちんと議論出来ている人は、誰一人として文句を言ってないだろ。
一方、お前らゆとりは文句しか言ってない。
これが、既に言った、「正しく使える奴」と「間違った使い方しか出来ない奴」(≒ゆとり)の差だよ。
本来、コミュニティに対して生産的でない奴には発言権もないべきなんだよ。
それはリアルでは当然そうなっていて、会社で無能に発言権がないのもこれでしかない。
ところがネットではゆとりみたいなクズでもどのコミュニティに対しても自由に参加出来るものだから、
お前らゆとりはそういうものだと勘違いしてしまっている。
結果、お前らゆとり自体が本質的にクズ人間集団のように以前の世代から見たら思えてしまう。
これがゆとり問題の根元だよ。
そして問題は、このことを、お前らゆとりも、また、以前の世代も、意識出来ていないことだ。
ここがC++技術のスレなら、最低限、C++技術に関しての発言をする/した奴にしか発言権はない。
俺に文句を言う前に、お前らが何らかの「スレを盛り上げる為のC++技術論」を展開して、
コミュニティに対して生産的に寄与してからでないと、発言権はないんだ。
これは本当に当たり前のことなんだよ。
(というか、そうしないとコミュニティが崩壊して存続出来ないから、
存在しているコミュニティは本質的にそういうものとなる)
ゆとりでも分かるように言えば、リアルでシカトされるような行動/発言はネットでも慎むべきなんだよ。
まあもっとも、お前らゆとりはリアルでも「ないわ〜」な行動をしてブッ叩かれていたわけだが。
再度言うが、文句を言う前に何か他人を巻き込んで盛り上がるC++技術論を展開しろ。
そして俺にマウント取りたいのならC++技術論で来い。
856デフォルトの名無しさん (アウアウエー Sa3a-XGub)
2019/12/15(日) 14:35:38.91ID:EeC59mXxa 箇条書きできない人ってそんなに珍しくないと思うよ
857デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/15(日) 16:28:15.78ID:TpJAGc8G0 >>856
違うぞ。俺は単に言いたいことが多いだけだ。
それは見えている物がお前らより多いからだ。
そしてそれは既に言ったが「知識のネットワーク化」により、全部関連してるからだ。
何度も繰り返したように、これは見えた展開でしかない。
お前らはどうやら無限にこれを繰り返す気らしいが、俺はもうそろそろ終止符を打ちたいので、
俺の思想を開示し、賛同者を募っている。
プログラミングもそうだが、こういった展開も実は抽象化出来る。
お前らは文系脳だからそういう感覚すらないようだが。
今やっていることは「海と山が近い町での漁師と農民の喧嘩」でしかなく、リアルでも1000年以上繰り返してきてる。
それをお前ら文系は別々のこととして暗記するから駄目なんだ。
まあもういいが。
違うぞ。俺は単に言いたいことが多いだけだ。
それは見えている物がお前らより多いからだ。
そしてそれは既に言ったが「知識のネットワーク化」により、全部関連してるからだ。
何度も繰り返したように、これは見えた展開でしかない。
お前らはどうやら無限にこれを繰り返す気らしいが、俺はもうそろそろ終止符を打ちたいので、
俺の思想を開示し、賛同者を募っている。
プログラミングもそうだが、こういった展開も実は抽象化出来る。
お前らは文系脳だからそういう感覚すらないようだが。
今やっていることは「海と山が近い町での漁師と農民の喧嘩」でしかなく、リアルでも1000年以上繰り返してきてる。
それをお前ら文系は別々のこととして暗記するから駄目なんだ。
まあもういいが。
858デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/15(日) 16:34:06.95ID:TpJAGc8G0859853 (ワッチョイ c612-X5Um)
2019/12/15(日) 16:37:54.83ID:01f7hQnX0 科学しねえサルであることはわかった
あばよエテ公
あばよエテ公
860デフォルトの名無しさん (ワッチョイ 626e-kui+)
2019/12/15(日) 16:45:25.74ID:nhcuVJi80 そのための隔離スレ
861デフォルトの名無しさん (ワイーワ2 FFfa-EbeN)
2019/12/15(日) 16:51:02.24ID:NIombkpjF 円周率はなぜπなのですか
862デフォルトの名無しさん (ワッチョイ 8252-EeVI)
2019/12/15(日) 17:12:06.27ID:K1ul1r/C0 >>860
隔離スレから出てこないところだけは評価してもよいと思う。
隔離スレから出てこないところだけは評価してもよいと思う。
863デフォルトの名無しさん (ワッチョイ 977b-X0Nr)
2019/12/15(日) 17:18:40.06ID:hicN34V00864デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/15(日) 18:07:39.62ID:TpJAGc8G0865デフォルトの名無しさん (ワッチョイ 574f-xO71)
2019/12/15(日) 18:22:34.11ID:fGq+HT2S0 仕様変えろって言ってたのは do ~ while の話なのになんで if や switch が関係ある?
なにか話が通じてないっぽい。
なにか話が通じてないっぽい。
866デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/15(日) 18:43:08.65ID:TpJAGc8G0 >>865
話が通じてないのはお前だ馬鹿タレ。
スコープの拡張によってdo-whileは従来コードと動作が変わってしまうので採用出来ない、というのなら、
if文もスコープの拡張によって従来コードとは動作が変わってしまっているし、switch文もそうだ。
だから、do-while文が従来コードと動作が変わってしまうから仕様の変更が出来ない、ということはない。
つか、お前ら馬鹿には短く書いたら通じないのに、
一々お前ら馬鹿にも分かるように説明してやると長いと文句を言うという。
だからお前らとはコミュニヶーション無理なんだよ。
話が通じてないのはお前だ馬鹿タレ。
スコープの拡張によってdo-whileは従来コードと動作が変わってしまうので採用出来ない、というのなら、
if文もスコープの拡張によって従来コードとは動作が変わってしまっているし、switch文もそうだ。
だから、do-while文が従来コードと動作が変わってしまうから仕様の変更が出来ない、ということはない。
つか、お前ら馬鹿には短く書いたら通じないのに、
一々お前ら馬鹿にも分かるように説明してやると長いと文句を言うという。
だからお前らとはコミュニヶーション無理なんだよ。
867デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/15(日) 18:43:53.57ID:5sPbacoo0868デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/15(日) 18:59:11.49ID:TpJAGc8G0 >>867
812は使えない。
(そもそもほぼ使われてないというのはさておき)
・do-whileの場合は、最初に条件変数を確定させることが出来ない場合が多い
・宣言だけdo内で出来ても余計に見にくくなるだけ、それなら{}内でいい
ただしifやswitchのように「変数スコープを汚さない」為ならこの仕様でもいい。
だから俺は賛成はしないが、実際に提案したら通るかもしれない、とは思う。
なお本来こういうのはRsustの出番だが、
今見たところRustもwhileのスコープはCと同様のようだ。
https://doc.rust-jp.rs/the-rust-programming-language-ja/1.6/book/loops.html
812は使えない。
(そもそもほぼ使われてないというのはさておき)
・do-whileの場合は、最初に条件変数を確定させることが出来ない場合が多い
・宣言だけdo内で出来ても余計に見にくくなるだけ、それなら{}内でいい
ただしifやswitchのように「変数スコープを汚さない」為ならこの仕様でもいい。
だから俺は賛成はしないが、実際に提案したら通るかもしれない、とは思う。
なお本来こういうのはRsustの出番だが、
今見たところRustもwhileのスコープはCと同様のようだ。
https://doc.rust-jp.rs/the-rust-programming-language-ja/1.6/book/loops.html
870デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/15(日) 19:54:31.00ID:5sPbacoo0871デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/15(日) 19:57:40.04ID:5sPbacoo0872デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/15(日) 19:59:26.20ID:5sPbacoo0 #define ever (;;)
for ever {
}
こんなネタがあった
for ever {
}
こんなネタがあった
873デフォルトの名無しさん (ワッチョイ c612-X5Um)
2019/12/15(日) 20:02:45.50ID:01f7hQnX0 クサチューのオンパレード
875デフォルトの名無しさん (ワッチョイ c612-X5Um)
2019/12/15(日) 20:14:24.62ID:01f7hQnX0 ここC++スレだよな? (極度の脱力)
876デフォルトの名無しさん (ワッチョイ 626e-kui+)
2019/12/15(日) 20:15:33.29ID:nhcuVJi80 キチガイの隔離スレですよ
877デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/15(日) 20:33:32.81ID:5sPbacoo0 C++スレであることを忘れてた
while (true)
while (1)
for (;;)
do while (1)
do while (true)
forが一番文字数が少ないけど...
while (1) を一番良く見る
while (true)
while (1)
for (;;)
do while (1)
do while (true)
forが一番文字数が少ないけど...
while (1) を一番良く見る
878デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/15(日) 20:38:53.09ID:TpJAGc8G0 >>870
既に816に書いたし、元のstackoverflowとの例とも同じだが、再記すると、
do {
bool flag = ...
} while (flag);
要するに while () までスコープを拡大しろ、というだけ。
これ自体もfor文とは整合性が取れている。敢えてスコープを [ ] で示すと、
[ for (int i=0; i<num; i++) { ... } ]
[ do { ... } while ( ... ) ]
[ while ((String^ line = sr->Readline())!=nullptr) { ... } ]
要するに全部外側まで含めろ、でしかない。
これは既に記したC++リファレンスでも言ってるだろ。
> 見方を変えるとfor文で可能な初期化が、なぜかif文やswitch文ではできない、文法に一貫性がない問題と見ることもできる。
> https://cpprefjp.github.io/lang/cpp17/selection_statements_with_initializer.html
ならdo-whileとwhileでもやらせろ、というだけの話。
ただしこれに関しては合意する必要がないので、ここまででいい。
俺はこれが最善だと思うし、君は816が最善だと思っているだけ。
提案するならどうぞ。俺は君の案が最善だとは思わないから協力はしない。
ただ、仕様委員会が君の提案を最善だと思うのなら、通るだろうし、その可能性もあると思う。
どちらがいいかなんて俺と君で詰める必要はないし、その意味もない。
(というのを868で言ったつもり)
既に816に書いたし、元のstackoverflowとの例とも同じだが、再記すると、
do {
bool flag = ...
} while (flag);
要するに while () までスコープを拡大しろ、というだけ。
これ自体もfor文とは整合性が取れている。敢えてスコープを [ ] で示すと、
[ for (int i=0; i<num; i++) { ... } ]
[ do { ... } while ( ... ) ]
[ while ((String^ line = sr->Readline())!=nullptr) { ... } ]
要するに全部外側まで含めろ、でしかない。
これは既に記したC++リファレンスでも言ってるだろ。
> 見方を変えるとfor文で可能な初期化が、なぜかif文やswitch文ではできない、文法に一貫性がない問題と見ることもできる。
> https://cpprefjp.github.io/lang/cpp17/selection_statements_with_initializer.html
ならdo-whileとwhileでもやらせろ、というだけの話。
ただしこれに関しては合意する必要がないので、ここまででいい。
俺はこれが最善だと思うし、君は816が最善だと思っているだけ。
提案するならどうぞ。俺は君の案が最善だとは思わないから協力はしない。
ただ、仕様委員会が君の提案を最善だと思うのなら、通るだろうし、その可能性もあると思う。
どちらがいいかなんて俺と君で詰める必要はないし、その意味もない。
(というのを868で言ったつもり)
879デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/15(日) 20:40:25.63ID:5sPbacoo0880デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/15(日) 20:55:41.23ID:5sPbacoo0 while (★::flag)
互換性を保つならこんなんだろうげど
★にたいする適切な物が思い浮かばない
予約語を増やすか演算子を増やすかくらい
直近の変数がデフォにならないのも違和感
そもそもループ変数のスコープ問題が解決しない
互換性を保つならこんなんだろうげど
★にたいする適切な物が思い浮かばない
予約語を増やすか演算子を増やすかくらい
直近の変数がデフォにならないのも違和感
そもそもループ変数のスコープ問題が解決しない
881デフォルトの名無しさん (ワッチョイ 574f-xO71)
2019/12/15(日) 21:28:20.75ID:fGq+HT2S0882デフォルトの名無しさん (ワッチョイ e71f-tALz)
2019/12/15(日) 21:40:37.26ID:DlSa33cZ0 なるほど
上にスコープが伸びるのと
下にスコープが伸びるのでは違うのか
上にスコープが伸びるのと
下にスコープが伸びるのでは違うのか
883デフォルトの名無しさん (アウアウエー Sa3a-XGub)
2019/12/15(日) 21:41:43.67ID:jn3jmPlRa884デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/15(日) 21:47:17.39ID:5sPbacoo0885デフォルトの名無しさん (アウアウエー Sa3a-XGub)
2019/12/15(日) 22:44:12.91ID:jn3jmPlRa886デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/15(日) 23:01:28.34ID:TpJAGc8G0 >>882
結果的にはそうだが、
× 伸びる
○ 追加される
だ。まあ、俺も間違っていたが。C++リファレンスにもモロに書いてあるが、
#define if {if
#define switch {switch
に近い。(後ろ側!という突っ込みは無しで)
>>878を訂正すると、同様にスコープを [ ] で書くとして、
[ for ( .,.. ) [ { } ]] // (または [ for ( ... ) { } ] とも解釈出来る)
[ if ( ... ) [ { } ]]
[ switch ( ... ) [ { } ]]
になってる。だから同様に while 文は
[ while ( ... ) [ { } ]]
とするのは全く問題ないし、時間の問題だろう。
ただし do-whileは
[ do [ { } ] while ( ... ) ]
ではまるで意味がないので、これはどうしようもない。
for文のスコープについては上記の通り2通りの解釈方法があり、
おそらくCの連中は体感的に後者だと思うのだが、
C++で前者だということにして if と swtch を揃えた、というところか。
なら、技術的に何ら問題ない while もほぼ間違いなく揃えられるだろう。
よって、結果的に前か後ろか、という問題だが、まあ、そういうことだ。
>>880
switchに対して同様にスコープを『追加』するのは全く問題ない。
君がswitchについて誤解しているのは、俺と同様、スコープが『拡大』されると勘違いしているからだ。
上記とC++リファレンスを再度読むべし。
結果的にはそうだが、
× 伸びる
○ 追加される
だ。まあ、俺も間違っていたが。C++リファレンスにもモロに書いてあるが、
#define if {if
#define switch {switch
に近い。(後ろ側!という突っ込みは無しで)
>>878を訂正すると、同様にスコープを [ ] で書くとして、
[ for ( .,.. ) [ { } ]] // (または [ for ( ... ) { } ] とも解釈出来る)
[ if ( ... ) [ { } ]]
[ switch ( ... ) [ { } ]]
になってる。だから同様に while 文は
[ while ( ... ) [ { } ]]
とするのは全く問題ないし、時間の問題だろう。
ただし do-whileは
[ do [ { } ] while ( ... ) ]
ではまるで意味がないので、これはどうしようもない。
for文のスコープについては上記の通り2通りの解釈方法があり、
おそらくCの連中は体感的に後者だと思うのだが、
C++で前者だということにして if と swtch を揃えた、というところか。
なら、技術的に何ら問題ない while もほぼ間違いなく揃えられるだろう。
よって、結果的に前か後ろか、という問題だが、まあ、そういうことだ。
>>880
switchに対して同様にスコープを『追加』するのは全く問題ない。
君がswitchについて誤解しているのは、俺と同様、スコープが『拡大』されると勘違いしているからだ。
上記とC++リファレンスを再度読むべし。
887デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/15(日) 23:19:30.37ID:5sPbacoo0888デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/15(日) 23:23:25.43ID:TpJAGc8G0 >>881
>>864
> それ以前にC++は駄目な仕様は互換性が無くなっても改善して行ってる。
なお864内の
> >>833については広義に捕らえればifやswitchでも発生することだし
この部分は間違いだ。ifやswitchは互換性の問題が発生しない。
同様に、whileに対してスコープを追加しても問題は発生しない。(886で述べたとおり)
そして再度言わないと分からないようだから言うが、
俺は「使えない仕様は互換性が無くても改善しろ」という意見だ。
だからそもそも糞コードが動かなくなることは問題にしてない。
833のコードは外側の a を普通に内側から変更する手段がない。
よって必ず無限ループでしかなく、最初から
int a = 0;
while (1) {
if ( ... ) break;
}
だ。余程おかしな事をしない限り、833のコードなんて存在しない。
それ以前にdo-whileなんてほぼ死滅状態だし。
そしてここに問題が発生する可能性のある場合、コンパイラが警告を出すことは容易だ。
>>864
> それ以前にC++は駄目な仕様は互換性が無くなっても改善して行ってる。
なお864内の
> >>833については広義に捕らえればifやswitchでも発生することだし
この部分は間違いだ。ifやswitchは互換性の問題が発生しない。
同様に、whileに対してスコープを追加しても問題は発生しない。(886で述べたとおり)
そして再度言わないと分からないようだから言うが、
俺は「使えない仕様は互換性が無くても改善しろ」という意見だ。
だからそもそも糞コードが動かなくなることは問題にしてない。
833のコードは外側の a を普通に内側から変更する手段がない。
よって必ず無限ループでしかなく、最初から
int a = 0;
while (1) {
if ( ... ) break;
}
だ。余程おかしな事をしない限り、833のコードなんて存在しない。
それ以前にdo-whileなんてほぼ死滅状態だし。
そしてここに問題が発生する可能性のある場合、コンパイラが警告を出すことは容易だ。
889デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/15(日) 23:26:49.02ID:5sPbacoo0890デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/15(日) 23:35:22.96ID:TpJAGc8G0891デフォルトの名無しさん (ワッチョイ 626e-kui+)
2019/12/15(日) 23:36:26.80ID:nhcuVJi80 必ずしも
> 【過去のコードが動かなくなるのはダメだ】
ってこともないけどな
C++17でもC++20でも非推奨機能削除してるし
auto_ptrを使ったC++03基準のコードはもはやコンパイルできない
> 【過去のコードが動かなくなるのはダメだ】
ってこともないけどな
C++17でもC++20でも非推奨機能削除してるし
auto_ptrを使ったC++03基準のコードはもはやコンパイルできない
892デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/15(日) 23:48:32.16ID:5sPbacoo0 ライブラリ仕様じゃなくて純粋な言語仕様
コンパイルエラーが出ない
(当然今のコンパイラでは警告も出ない)
C言語にも影響する
これだけダメな理由が揃ってる
過去にこんな変更あったか?
コンパイルエラーが出ない
(当然今のコンパイラでは警告も出ない)
C言語にも影響する
これだけダメな理由が揃ってる
過去にこんな変更あったか?
893デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/15(日) 23:51:49.90ID:5sPbacoo0 代替手段がもいくらでもある、ほとんど使われない改善に対して
そんな冒険をする必要はない
そんな冒険をする必要はない
894デフォルトの名無しさん (ワッチョイ 8b90-n4Zq)
2019/12/15(日) 23:57:57.03ID:YusZiZGS0895デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/15(日) 23:58:04.15ID:5sPbacoo0 >>890
ループ変数のスコープ問題が解決しないからダメ
ループ変数のスコープ問題が解決しないからダメ
896デフォルトの名無しさん (アウアウエー Sa3a-XGub)
2019/12/16(月) 00:06:29.13ID:wPQGlTEXa897デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/16(月) 00:08:00.93ID:xr9KOlE00 文法的には
while (100)
でも良いって言ってるの
while (100)
でも良いって言ってるの
898デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/16(月) 00:11:08.90ID:xr9KOlE00 文脈読まずに反射で書いただけかよ
899デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/16(月) 00:23:53.19ID:i+s7iGW+0 >>895
whileで駄目なコード書いてみ?
whileで駄目なコード書いてみ?
900デフォルトの名無しさん (ワッチョイ ff1a-xO71)
2019/12/16(月) 00:28:09.44ID:0zaeABy30 (早くこの隔離スレを終わらせたくなってわざとやってる気がしてきた)
901デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/16(月) 00:56:47.70ID:i+s7iGW+0902デフォルトの名無しさん (ワッチョイ a2b3-n4pN)
2019/12/16(月) 03:48:32.59ID:Awem8+qZ0 >>898,900
こいつはMIPS君とか呼ばれてるらしいんだが、間違い指摘されたりするとファビョって暴れ出すんだよ
思い込みが激しいから、それが原因でしょっちゅう間違いをやらかすんだけど、
やたらとプライドだけは高いから引っ込みがつかなくなって連投しだすんだな
この前も、アセンブラ初心者スレで「キャリーフラグがアウトオブオーダー実行を妨げる」とか言って大恥かいたはずなんだけどね
アウトオブオーダーを正しく理解してたらそんなことは言い出さない(cmovで簡単に回避できるので)
平日の昼間でも連投してるから、おそらく頭がカチカチで5chしか居場所のない爺だと思う
相手しても疲れるだけだよ
こいつはMIPS君とか呼ばれてるらしいんだが、間違い指摘されたりするとファビョって暴れ出すんだよ
思い込みが激しいから、それが原因でしょっちゅう間違いをやらかすんだけど、
やたらとプライドだけは高いから引っ込みがつかなくなって連投しだすんだな
この前も、アセンブラ初心者スレで「キャリーフラグがアウトオブオーダー実行を妨げる」とか言って大恥かいたはずなんだけどね
アウトオブオーダーを正しく理解してたらそんなことは言い出さない(cmovで簡単に回避できるので)
平日の昼間でも連投してるから、おそらく頭がカチカチで5chしか居場所のない爺だと思う
相手しても疲れるだけだよ
903デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/16(月) 08:16:52.87ID:xr9KOlE00904デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/16(月) 08:21:18.41ID:xr9KOlE00 >>902
キャリー君おはよう
キャリー君おはよう
905デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/16(月) 08:32:06.41ID:xr9KOlE00 キャリーフラグが大好きキャリー君
知識不足でまともな会話が出来ないキャリー君
いつも長文で御苦労様
知識不足でまともな会話が出来ないキャリー君
いつも長文で御苦労様
906デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/16(月) 09:17:08.40ID:i+s7iGW+0 >>903
それは do-while と俺は言っている。
とりあえず俺の記載ミスも仕様に関する誤解も酷かったので、一端話を整理する。(もう一度書き直す)
スコープは [ ] で書くとして、if や switch のようにスコープを『追加』されている場合、以下となる。(878と同じ)
[ for ( .,.. ) [ { } ]] // (または [ for ( ... ) { } ] とも解釈出来る)
[ if ( ... ) [ { } ]]
[ switch ( ... ) [ { } ]]
よって while 文は
[ while ( ... ) [ { } ]]
と解釈を変更することにより、互換性の問題なしで for/if/swtch と揃える事は可能。
俺の予想ではこれは時間の問題で仕様に入る。
do-whileは
[ do [ { } ] while ( ... ) ]
としても意味がないので、
[ do { } while ( ... ) ]
とするしかないが、これだと互換性の問題を回避出来ない。
ここまではいいか?
お前は議論慣れが全然足りない。
whileとdo-whileで全然違うこの状況で、do-whileを略してwhileと言ってはいけない。
つまり>>880がよくない。これでは話が混乱する。
ただ、混乱しても収拾すればいいだけだ。まずはここまでの認識を確認する。
それは do-while と俺は言っている。
とりあえず俺の記載ミスも仕様に関する誤解も酷かったので、一端話を整理する。(もう一度書き直す)
スコープは [ ] で書くとして、if や switch のようにスコープを『追加』されている場合、以下となる。(878と同じ)
[ for ( .,.. ) [ { } ]] // (または [ for ( ... ) { } ] とも解釈出来る)
[ if ( ... ) [ { } ]]
[ switch ( ... ) [ { } ]]
よって while 文は
[ while ( ... ) [ { } ]]
と解釈を変更することにより、互換性の問題なしで for/if/swtch と揃える事は可能。
俺の予想ではこれは時間の問題で仕様に入る。
do-whileは
[ do [ { } ] while ( ... ) ]
としても意味がないので、
[ do { } while ( ... ) ]
とするしかないが、これだと互換性の問題を回避出来ない。
ここまではいいか?
お前は議論慣れが全然足りない。
whileとdo-whileで全然違うこの状況で、do-whileを略してwhileと言ってはいけない。
つまり>>880がよくない。これでは話が混乱する。
ただ、混乱しても収拾すればいいだけだ。まずはここまでの認識を確認する。
907デフォルトの名無しさん (ワッチョイ ff7b-x173)
2019/12/16(月) 09:18:17.98ID:i+s7iGW+0 そして何度も言っているが、
その先の、「互換性がないがどうするか?」という点についてはここで、または俺と君とで詰める意味がない。
>>812については既に>>868で言ったが、その仕様では見やすくないので俺なら使わない。
だから仕様として入れる意味も、改訂する意味もない、というのが俺の意見だ。ただしそれだと
[ do ( ... ) [ { } ] while ( ... ) ]
形式に出来、互換性の問題なく、for/if/switch/whileと揃えられる。
だから提案すれば通る可能性はある。
事の発端は808、「do-while が使えなかったのはスコープの仕様が『間違っていた』からではないか?」という俺の見解だが、
今現在のところ、
if と switch について間違っていたと言うのは厳しいが、修正されている。
while については直前にループ変数を定義するだけの使い方も本当によくあるので、
この仕様は明確に間違っていたと言える。
そして for/if/swtch と揃えることに障害がないのでじきに修正されるはず。
問題は do-while で、812みたいな糞ならイラネ、なら解決策がない。
その先の、「互換性がないがどうするか?」という点についてはここで、または俺と君とで詰める意味がない。
>>812については既に>>868で言ったが、その仕様では見やすくないので俺なら使わない。
だから仕様として入れる意味も、改訂する意味もない、というのが俺の意見だ。ただしそれだと
[ do ( ... ) [ { } ] while ( ... ) ]
形式に出来、互換性の問題なく、for/if/switch/whileと揃えられる。
だから提案すれば通る可能性はある。
事の発端は808、「do-while が使えなかったのはスコープの仕様が『間違っていた』からではないか?」という俺の見解だが、
今現在のところ、
if と switch について間違っていたと言うのは厳しいが、修正されている。
while については直前にループ変数を定義するだけの使い方も本当によくあるので、
この仕様は明確に間違っていたと言える。
そして for/if/swtch と揃えることに障害がないのでじきに修正されるはず。
問題は do-while で、812みたいな糞ならイラネ、なら解決策がない。
908デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/16(月) 19:17:21.57ID:xr9KOlE00 じゃあ演算子の優先順位もおかしいから
今から変えようか
今から変えようか
909デフォルトの名無しさん (ワッチョイ 574f-xO71)
2019/12/16(月) 21:08:24.55ID:79yFDnLG0 1. 今の仕様は間違っているから修正されなければならない
2. 間違いを正しく修正するうえでは互換性が失われるのも仕方がない
テロリストや狂信者の思考やね。
2. 間違いを正しく修正するうえでは互換性が失われるのも仕方がない
テロリストや狂信者の思考やね。
910デフォルトの名無しさん (ワッチョイ c612-X5Um)
2019/12/16(月) 21:17:34.10ID:kmOA257c0 char* ptr = "string";
これを正したのはテロリストや狂信者か
これを正したのはテロリストや狂信者か
911デフォルトの名無しさん (ワッチョイ c612-X5Um)
2019/12/16(月) 21:18:58.12ID:kmOA257c0 getsの廃止も1.と2.の原理に主義を置いた決断だね
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 今年の漢字 [ぐれ★]
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 ★4 [蚤の市★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ★3 [冬月記者★]
- あぼーん
- 今年の漢字は「熊」に決定! 相次ぐクマ被害 去年は「金」 [冬月記者★]
- 【老舗文具メーカー】「生成AIで制作していた」――サクラクレパス、“AI疑惑”ポスターの調査結果を報告 ★2 [ぐれ★]
- 一人殺したい奴がいる
- __トランプ、G7に代わる「Core 5」構想、米 中 露 印 日をまとめる巨大枠組み、世界秩序の再編につながる可能性 [827565401]
- コーンポタージュに食パン浸して食うのうますぎwwwwwwwwwwwwwwwwwwwwww
- 残クレタワマン、始まるwwwwwwwwwwwwwwwwwwwwwwwww [329329848]
- 【速報】今年の漢字、「熊」!wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 結婚したい女性声優
