gets関数とか
その他の例
https://www.jpcert.or.jp/sc-rules/c-msc24-c.html
C言語の設計ミスった危険な関数トップ10決めようぜ
2019/11/21(木) 12:23:44.93ID:T7Jjyyy1
2019/12/08(日) 02:33:17.34ID:aqWVKWA+
アホなデータ食わせるアホなやつのために堅牢な仕組みにする必要はない
2019/12/11(水) 01:29:51.60ID:7IDmuKiG
>>41
元々は9bit
元々は9bit
50デフォルトの名無しさん
2019/12/11(水) 06:55:08.36ID:IbA4V9X0 >>46
メモリが640kバイトしか使えなかった頃からのものだしな
メモリが640kバイトしか使えなかった頃からのものだしな
2019/12/11(水) 07:59:10.55ID:yA/FdCBI
>>5
ストラトック
ストラトック
2019/12/11(水) 15:20:43.27ID:JkExA39E
大昔って端末やエディタなんかでも1行256とか1024バイト程度しか扱えなかったばず
53デフォルトの名無しさん
2019/12/11(水) 15:32:22.68ID:8OP/pbId 256 の時代は割と長かった希ガス
2019/12/13(金) 06:37:32.10ID:o1f1J6fH
昔は1行の長さを先に決めてファイルをクリエイトしました
途中で変更はできません
途中で変更はできません
55デフォルトの名無しさん
2019/12/14(土) 13:26:55.02ID:TlZt0bii 関数そのものじゃないが
breakにラベル指定出来なかったのは設計ミスやろ
breakにラベル指定出来なかったのは設計ミスやろ
2019/12/14(土) 13:54:03.80ID:JwYnIOEa
その為のgoto
57デフォルトの名無しさん
2019/12/14(土) 22:43:29.04ID:8CJijD11 gotoはラベルのスコープが広いから使いにくい。ループごとに別のラベル名を
付けないといけないし、ラベル名を別のループ用のものと書き間違えると
意図しない所へ飛んで行ってしまう。スパゲッティでバグの元。
ループにラベルを付ければ、スコープがそのループ内に限定され、そのループの
外にある別のループに同じラベル名を付けることができるから、書きやすく
読みやすい。例えば、こんな感じ。
for @outer (i = 1; i <= 3; i++) {
for (j = 1; j <= 3; j++) {
printf("%d, %d\n", i, j);
if (i * j > 3) break @outer;
}
}
for @outer (i = 1; i <= 5; i++) {
for (j = 1; j <= 5; j++) {
printf("%d, %d\n", i, j);
if (i * j > 5) break @outer;
}
}
付けないといけないし、ラベル名を別のループ用のものと書き間違えると
意図しない所へ飛んで行ってしまう。スパゲッティでバグの元。
ループにラベルを付ければ、スコープがそのループ内に限定され、そのループの
外にある別のループに同じラベル名を付けることができるから、書きやすく
読みやすい。例えば、こんな感じ。
for @outer (i = 1; i <= 3; i++) {
for (j = 1; j <= 3; j++) {
printf("%d, %d\n", i, j);
if (i * j > 3) break @outer;
}
}
for @outer (i = 1; i <= 5; i++) {
for (j = 1; j <= 5; j++) {
printf("%d, %d\n", i, j);
if (i * j > 5) break @outer;
}
}
2019/12/14(土) 22:45:51.60ID:JwYnIOEa
単純に
breakする数を指定出来るだけで良い
breakする数を指定出来るだけで良い
2019/12/15(日) 06:50:28.91ID:6aWNd1w0
>>58
ネストの数を数えるとか最低だと思う
ネストの数を数えるとか最低だと思う
2019/12/15(日) 07:00:06.17ID:a0yEED8b
1000行のコードでbreak 7;とかされても、
どこに抜けるかわからんよな!
どこに抜けるかわからんよな!
2019/12/15(日) 09:51:38.77ID:5sPbacoo
ネストの数がわからないような巨大な構造は
それだけで最低だ
そんなんだと名前付きループにした所で
@outerなんて名前が使い回されて
同じ名前のループがネストされて
それこそ難読コードになる
それならユニークなラベルによるgotoの方が良い
>>57くらいのループなら
break 2;
は名前を考える手間が無くて楽だし
見にくくもない
それだけで最低だ
そんなんだと名前付きループにした所で
@outerなんて名前が使い回されて
同じ名前のループがネストされて
それこそ難読コードになる
それならユニークなラベルによるgotoの方が良い
>>57くらいのループなら
break 2;
は名前を考える手間が無くて楽だし
見にくくもない
2019/12/15(日) 09:57:28.64ID:5sPbacoo
とは書いたけど
どっちも有るならどっちも欲しい
どっちかだけげならbreak 2;の方が欲しい
って感じ
どっちも有るならどっちも欲しい
どっちかだけげならbreak 2;の方が欲しい
って感じ
2019/12/15(日) 10:52:04.89ID:6aWNd1w0
2019/12/15(日) 11:05:09.82ID:5sPbacoo
ループの先頭、ループの終わり、break部分
3箇所見ないとダメってだけでダメな仕様
3箇所見ないとダメってだけでダメな仕様
2019/12/15(日) 12:32:17.60ID:bDjAMWVj
2019/12/15(日) 12:36:08.74ID:5sPbacoo
大きければgoto
小さければbreak n
小さければbreak n
2019/12/15(日) 12:38:50.49ID:5sPbacoo
名前を付ける手間を許容するならgotoという解決法が既にある
68デフォルトの名無しさん
2019/12/15(日) 13:48:44.02ID:o9m7qUoD >>60
ネスト変わるような変更あるたびにbreakの引数勝手に書き換えてくれるエディタとかマクロが流行る
ネスト変わるような変更あるたびにbreakの引数勝手に書き換えてくれるエディタとかマクロが流行る
2019/12/15(日) 16:33:57.62ID:bDjAMWVj
2019/12/15(日) 16:52:03.21ID:u46gpj2V
歪んだ教育のせいで
gotoに拒絶反応を示す人が多いんだよな
2重ループを抜けるなら素直にgotoを使えって
gotoに拒絶反応を示す人が多いんだよな
2重ループを抜けるなら素直にgotoを使えって
2019/12/15(日) 16:53:29.68ID:pTp+dpJs
アセンブラの
jmp 1f
とかを C でやりたいという話なのか?
やってみりゃいいじゃん。プリプロセッサの出力を処理すればいい。
1 パスで出来ると思うよ。
ひょっとしてもう誰かがやってるかも。
jmp 1f
とかを C でやりたいという話なのか?
やってみりゃいいじゃん。プリプロセッサの出力を処理すればいい。
1 パスで出来ると思うよ。
ひょっとしてもう誰かがやってるかも。
2019/12/15(日) 18:05:59.04ID:5sPbacoo
for (i = 1; i <= 3; i++) {
for (j = 1; j <= 3; j++) {
printf("%d, %d\n", i, j);
if (i * j > 3) goto outer;
}
} outer:;
for (j = 1; j <= 3; j++) {
printf("%d, %d\n", i, j);
if (i * j > 3) goto outer;
}
} outer:;
2019/12/15(日) 18:58:38.98ID:5sPbacoo
for (i = 1; i <= 3; i++) {
for (j = 1; j <= 3; j++) {
printf("%d, %d\n", i, j);
if (i * j > 3) goto outer;
}
}
printf("complete\n");
outer:;
for (j = 1; j <= 3; j++) {
printf("%d, %d\n", i, j);
if (i * j > 3) goto outer;
}
}
printf("complete\n");
outer:;
2019/12/15(日) 19:01:19.97ID:5sPbacoo
わざわざ言語拡張しなくても
>>57以上の事が実現出来る
>>57以上の事が実現出来る
2019/12/16(月) 09:05:52.89ID:AI1GDY0I
ラベルのスコープを狭くしたいという話のようだから
マクロの中で使ってこそ真価を発揮するんじゃないかな。
フル仕様のパースが必要というわけではなく、かなり手抜きできそうではある。
あれば便利というのは否定しないが、C でそこまで必要かというと…
マクロの中で使ってこそ真価を発揮するんじゃないかな。
フル仕様のパースが必要というわけではなく、かなり手抜きできそうではある。
あれば便利というのは否定しないが、C でそこまで必要かというと…
76デフォルトの名無しさん
2019/12/16(月) 12:33:03.93ID:0jmxiGrg {
goto hoge;
hoge:;
}
{
goto hoge;
hoge:;
}
これで二重になってたら困るしある意味なってなくても困るな
goto hoge;
hoge:;
}
{
goto hoge;
hoge:;
}
これで二重になってたら困るしある意味なってなくても困るな
2019/12/16(月) 13:21:05.83ID:ZZ8St2Js
マクロで二重以上のループってのもなかなか考えづらいなあ
一応、ラベル名をパラメータとする手もある
使う側のコストを考えるとgotoの為にパラメータを増やさないよな
gotoを使わない主義者がよくやってるように
余分な変数を使って実装するんだろうね
一応、ラベル名をパラメータとする手もある
使う側のコストを考えるとgotoの為にパラメータを増やさないよな
gotoを使わない主義者がよくやってるように
余分な変数を使って実装するんだろうね
2019/12/16(月) 13:23:11.26ID:ZZ8St2Js
アセンブラだとマクロローカルラベルってのがあったりする
ラベルを頻繁に使うので
あと
@@/@b/@fのように、
直近のラベルを指定する仕組みもある
ラベルを頻繁に使うので
あと
@@/@b/@fのように、
直近のラベルを指定する仕組みもある
2019/12/16(月) 13:28:49.41ID:ZZ8St2Js
2019/12/16(月) 15:17:28.75ID:arH1mwfY
void print_data(void) {
for (i = 1; i <= 3; i++) {
for (j = 1; j <= 3; j++) {
printf("%d, %d\n", i, j);
if (i * j > 3) return;
}
}
}
print_data();
printf("complete\n");
for (i = 1; i <= 3; i++) {
for (j = 1; j <= 3; j++) {
printf("%d, %d\n", i, j);
if (i * j > 3) return;
}
}
}
print_data();
printf("complete\n");
2019/12/16(月) 16:34:59.64ID:/0yHEQmX
outer より後に処理が続く場合は?
2019/12/16(月) 16:51:44.02ID:arH1mwfY
void print_data(void) {
for (i = 1; i <= 3; i++) {
for (j = 1; j <= 3; j++) {
printf("%d, %d\n", i, j);
if (i * j > 3) return;
}
}
}
print_data();
outer より後に処理が続く場合
printf("complete\n");
for (i = 1; i <= 3; i++) {
for (j = 1; j <= 3; j++) {
printf("%d, %d\n", i, j);
if (i * j > 3) return;
}
}
}
print_data();
outer より後に処理が続く場合
printf("complete\n");
2019/12/16(月) 16:55:03.26ID:arH1mwfY
"短い処理"をいちいち関数にしなくて済むから、break 2とかはあってもいいが、
長い処理は関数にしてないとろくにテストできないんだからgotoなんていらない
長い処理は関数にしてないとろくにテストできないんだからgotoなんていらない
2019/12/16(月) 19:03:13.17ID:4DgO9d+i
じゃあ>>57もいらないね
2019/12/16(月) 19:09:09.12ID:lsrBHsJG
gotoの基本的な使い方くらい知っておいた方が良いかと
ループを抜ける為だけに関数を分けないといけなくなるし
挙げ句の果てに言語の欠陥とか言い出す
ループを抜ける為だけに関数を分けないといけなくなるし
挙げ句の果てに言語の欠陥とか言い出す
2019/12/16(月) 20:06:51.00ID:3ha1TSe5
今のC言語ではネストしたループから抜けるのはフラグを使うかgotoしかないからたいていgoto使ってるけどgotoなんて野蛮なものはできたら使いたくないから他の言語で実装されてるラベル付きbreakなりレベル付きbreakが欲しいって話だろ
今更gotoの基本的な使い方ガーとか言ってる奴はどんだけ低レベルなんだよw
今更gotoの基本的な使い方ガーとか言ってる奴はどんだけ低レベルなんだよw
2019/12/16(月) 20:09:28.82ID:xr9KOlE0
あれ?
returnで抜ける為に関数に分けるんじゃなかったの?
returnで抜ける為に関数に分けるんじゃなかったの?
2019/12/16(月) 20:21:09.65ID:xr9KOlE0
gotoは野蛮とかいう歪んだ教育のせいで
わざわざ変数を定義したりわざわざ関数を分けたりして
わざわざ見にくいコードにしちゃう
生でポインタを扱う野蛮なC言語なんか使わないで
上品な言語を使った方が良いよ
わざわざ変数を定義したりわざわざ関数を分けたりして
わざわざ見にくいコードにしちゃう
生でポインタを扱う野蛮なC言語なんか使わないで
上品な言語を使った方が良いよ
2019/12/16(月) 20:28:02.60ID:jL52ryYk
gotoじゃなくてgodowntoなら誰も文句言わなかった
2019/12/16(月) 20:47:58.36ID:LjjtFzBx
自分は小規模な字句解析みたいなのでもgoto使うことがある。
ラベルで状態を表してgotoで遷移する。
goto使わなかったら状態を変数に入れて、
ループの中でswitchで場合分けするようなコードになって辛い。
ラベルで状態を表してgotoで遷移する。
goto使わなかったら状態を変数に入れて、
ループの中でswitchで場合分けするようなコードになって辛い。
2019/12/16(月) 20:52:55.59ID:DbnQVwfE
ループの中のswitchでループを抜けるのに
gotoを使うんじゃ?
gotoを使うんじゃ?
2019/12/16(月) 21:41:34.22ID:wRV+mRkt
次の状態を返す関数ポインタでループすればいんじゃないの?
2019/12/16(月) 21:45:33.24ID:jhycq5nX
そんな野蛮なことはしません
2019/12/16(月) 22:12:14.62ID:arH1mwfY
>>87
returnで抜けるためというか、
1. gotoで抜けたい
2. 関数にするか
3. あ、そもそもコードが複雑なんだな
4. 関数にして正解だった
こんな感じかな。
gotoで抜けたいと思う=コードが複雑になってるという警鐘だと思ってる。
returnで抜けるためというか、
1. gotoで抜けたい
2. 関数にするか
3. あ、そもそもコードが複雑なんだな
4. 関数にして正解だった
こんな感じかな。
gotoで抜けたいと思う=コードが複雑になってるという警鐘だと思ってる。
2019/12/16(月) 22:22:18.57ID:xr9KOlE0
2019/12/16(月) 22:27:34.28ID:arH1mwfY
2019/12/16(月) 22:32:01.57ID:arH1mwfY
> 理由が後付けだからそうなる
質問の方が先なのに、理由を先に言えるわけがないw
Q. 多重ループから抜けるのに、gotoは必要ですか?
A. 必要ありません。多重ループが必要になるぐらい複雑なら関数にしますから
これが普通だから、後付にはならないよね。
質問の方が先なのに、理由を先に言えるわけがないw
Q. 多重ループから抜けるのに、gotoは必要ですか?
A. 必要ありません。多重ループが必要になるぐらい複雑なら関数にしますから
これが普通だから、後付にはならないよね。
2019/12/16(月) 22:37:09.13ID:xr9KOlE0
じゃ>>57も当然不要ですね
2019/12/16(月) 22:38:17.80ID:arH1mwfY
そんなにくり返し言わなくても、最初から不要だしw
100デフォルトの名無しさん
2019/12/16(月) 22:39:57.37ID:xr9KOlE0 じゃあ>>57はどういうつもりで書いたんでしょうかね?
101デフォルトの名無しさん
2019/12/16(月) 22:40:50.59ID:LjjtFzBx gogoサイコーっす
102デフォルトの名無しさん
2019/12/16(月) 22:41:03.68ID:LjjtFzBx 間違えたw goto
103デフォルトの名無しさん
2019/12/16(月) 22:42:13.32ID:xr9KOlE0 話を戻して
・ループを抜けた後に関数の後処理が必要な場合
・ループを抜けた後にローカル変数を使った処理をする場合
・他、意味的に関数内で処理したい場合
はどうするの?
・ループを抜けた後に関数の後処理が必要な場合
・ループを抜けた後にローカル変数を使った処理をする場合
・他、意味的に関数内で処理したい場合
はどうするの?
104デフォルトの名無しさん
2019/12/16(月) 22:44:03.17ID:arH1mwfY > ・ループを抜けた後に関数の後処理が必要な場合
前処理を関数の中でするな
> ・ループを抜けた後に関数の後処理が必要な場合
戻り値を返せ
>・他、意味的に関数内で処理したい場合
自分で具体例が思いつかないなら出すな
前処理を関数の中でするな
> ・ループを抜けた後に関数の後処理が必要な場合
戻り値を返せ
>・他、意味的に関数内で処理したい場合
自分で具体例が思いつかないなら出すな
105デフォルトの名無しさん
2019/12/16(月) 22:45:01.13ID:arH1mwfY コピペミスったな
>・ループを抜けた後にローカル変数を使った処理をする場合
戻り値を返せ
>・ループを抜けた後にローカル変数を使った処理をする場合
戻り値を返せ
106デフォルトの名無しさん
2019/12/16(月) 22:48:10.00ID:xr9KOlE0 >>104
なぜ?
なぜ?
107デフォルトの名無しさん
2019/12/16(月) 22:52:22.49ID:arH1mwfY >>106
なにが?
ってか、もう少し具体例を書けよ。
それみれば設計がおかしいという結論になる
例えて言うなら、パーサーの処理の中でネットワークにアクセスしたい時困るから
ネットワークモジュールはグローバルにアクセスできるようにしておくべき
みたいなことを言ってるようなもんだよ。それは設計がおかしい。
なにが?
ってか、もう少し具体例を書けよ。
それみれば設計がおかしいという結論になる
例えて言うなら、パーサーの処理の中でネットワークにアクセスしたい時困るから
ネットワークモジュールはグローバルにアクセスできるようにしておくべき
みたいなことを言ってるようなもんだよ。それは設計がおかしい。
108デフォルトの名無しさん
2019/12/16(月) 22:54:10.44ID:xr9KOlE0 int func(int n){
ロック
ループ
アンロック
return 結果;
}
ロック
ループ
アンロック
return 結果;
}
109デフォルトの名無しさん
2019/12/16(月) 22:55:55.89ID:xr9KOlE0 int func(int n){
ループ
値を加工
return 値
}
ループ
値を加工
return 値
}
110デフォルトの名無しさん
2019/12/16(月) 22:58:13.41ID:arH1mwfY >>108
「ループ」という言い方がおかしい。
ループで「実装」しているのであって
やっているのはなにかの「処理」だろう?
int func(int n){
ロック
処理
アンロック
return 結果;
}
「処理」という名前をつけたくなるならば、
そこは独立した関数にするべきだろう
「ループ」という言い方がおかしい。
ループで「実装」しているのであって
やっているのはなにかの「処理」だろう?
int func(int n){
ロック
処理
アンロック
return 結果;
}
「処理」という名前をつけたくなるならば、
そこは独立した関数にするべきだろう
111デフォルトの名無しさん
2019/12/16(月) 23:02:27.04ID:xr9KOlE0 double sigma(const double *a){
ループで総和と2乗和と数を計算
標準偏差を計算
return 標準偏差
}
ループで総和と2乗和と数を計算
標準偏差を計算
return 標準偏差
}
112デフォルトの名無しさん
2019/12/16(月) 23:04:47.03ID:xr9KOlE0 int func(int n){
int a[10] = {0};
ループ
aから値を計算
return 値
}
int a[10] = {0};
ループ
aから値を計算
return 値
}
113デフォルトの名無しさん
2019/12/16(月) 23:06:46.75ID:xr9KOlE0 いくらでも思い浮かぶ
114デフォルトの名無しさん
2019/12/16(月) 23:07:37.81ID:LjjtFzBx 全部関数に分けろって言われて終わりそう
115デフォルトの名無しさん
2019/12/16(月) 23:09:19.22ID:xr9KOlE0 分ける理由がない
116デフォルトの名無しさん
2019/12/16(月) 23:10:06.65ID:xr9KOlE0 >>112を分けてみて
117デフォルトの名無しさん
2019/12/16(月) 23:17:03.74ID:xr9KOlE0 関数分けってのは意味、機能、汎用性、...で分けるべきであって
単にループを抜けるのにreturnを使いたいから分けるとかを考えるべきじゃない
単にループを抜けるのにreturnを使いたいから分けるとかを考えるべきじゃない
118デフォルトの名無しさん
2019/12/16(月) 23:23:11.90ID:xr9KOlE0 素直にgotoの使い方を覚えた方が良いよ
意地はってないで
意地はってないで
119デフォルトの名無しさん
2019/12/16(月) 23:42:01.03ID:arH1mwfY120デフォルトの名無しさん
2019/12/16(月) 23:45:51.39ID:jL52ryYk gotoでもreturnでも読めれば良い
但し1関数50行以上は読めないんで宜しく
但し1関数50行以上は読めないんで宜しく
121デフォルトの名無しさん
2019/12/16(月) 23:48:10.14ID:arH1mwfY >>112
だから「ループ」と書くなっちゅうねんw
関数を設計するならこんな感じやろ?
int func(int n){
int a[10] = {0};
memset_random(a, sizeof(a)); // a配列をランダムな値で埋める
int chksum = chksum(a, sizeof(a)); // a配列のチェックサムを計算
return 値
}
関数の中でループしてようが何して用が関係ないわ
だから「ループ」と書くなっちゅうねんw
関数を設計するならこんな感じやろ?
int func(int n){
int a[10] = {0};
memset_random(a, sizeof(a)); // a配列をランダムな値で埋める
int chksum = chksum(a, sizeof(a)); // a配列のチェックサムを計算
return 値
}
関数の中でループしてようが何して用が関係ないわ
122デフォルトの名無しさん
2019/12/16(月) 23:55:19.85ID:xr9KOlE0 sizeof(a) とか書くレベルの相手してたのか
アホらしい
アホらしい
123デフォルトの名無しさん
2019/12/17(火) 00:04:36.92ID:JvBVW/sd124デフォルトの名無しさん
2019/12/17(火) 06:41:54.53ID:YMIUnRyv まあgotoあればbreakは要らんわなw
そんな言語は使いたくないけど
そんな言語は使いたくないけど
125デフォルトの名無しさん
2019/12/17(火) 07:00:38.11ID:JvBVW/sd gotoもbreakもいらないって
126デフォルトの名無しさん
2019/12/17(火) 07:10:23.36ID:JvBVW/sd gotoもbreakも無い
ループを抜けるときはreturn
switchを抜ける時もreturm
関数は単一の処理しか出来ない
こんな言語はイヤだね
ループを抜けるときはreturn
switchを抜ける時もreturm
関数は単一の処理しか出来ない
こんな言語はイヤだね
127デフォルトの名無しさん
2019/12/17(火) 07:23:38.89ID:JvBVW/sd 後に退けなくなったアホの作る言語
128デフォルトの名無しさん
2019/12/17(火) 07:39:52.35ID:odSFZTU+ gotoの使い方
http://www7b.biglobe.ne.jp/~robe/cpphtml/html03/cpp03005.html
http://www9.plala.or.jp/sgwr-t/c/sec06-6.html
http://tomeapp.jp/archives/1029
http://opencv.jp/opencv-2svn/c/core_utility_and_system_functions_and_macros.html
http://www7b.biglobe.ne.jp/~robe/cpphtml/html03/cpp03005.html
http://www9.plala.or.jp/sgwr-t/c/sec06-6.html
http://tomeapp.jp/archives/1029
http://opencv.jp/opencv-2svn/c/core_utility_and_system_functions_and_macros.html
129デフォルトの名無しさん
2019/12/17(火) 08:49:57.51ID:QeraReD1 たとえ相手がアホであっても、しつこく絡むのもまたアホだと思うんだが…
130デフォルトの名無しさん
2019/12/17(火) 12:33:06.04ID:vDeQfs2U 自分より下の人間を叩くしか能がないんだろ
ID:arH1mwfYなんてスルーでいいと思うんだがそれしか叩けないからいつまでたっても終わらないw
ID:arH1mwfYなんてスルーでいいと思うんだがそれしか叩けないからいつまでたっても終わらないw
131デフォルトの名無しさん
2019/12/17(火) 13:15:29.02ID:GBggCGQK 雑談スレだしネタも無いから良いんじゃね?
132デフォルトの名無しさん
2019/12/17(火) 18:32:11.83ID:x9hYOthl String型が無いって死ぬほど不便なんだが
133デフォルトの名無しさん
2019/12/17(火) 19:06:56.22ID:p6v4J1KY 他の言語を使ってください
134デフォルトの名無しさん
2019/12/17(火) 19:18:33.78ID:6LhBKKEf >>132
自分で似たようなものを作ればいいだろ。汎用的なものがあっても使い勝手や性能で何かしら不満が出るのだから、自分の要求に合致するものを自分で作りな。
自分で似たようなものを作ればいいだろ。汎用的なものがあっても使い勝手や性能で何かしら不満が出るのだから、自分の要求に合致するものを自分で作りな。
135デフォルトの名無しさん
2019/12/17(火) 20:52:31.46ID:QeraReD1 特定の用途においてローカルラベルが役に立つことも無くはないかもしれないな。
自分でそれをやるかどうかは別にして。
いずれにせよ、gcc では式の中で変数を宣言できるのだから
ローカルラベルが可能になっても驚かないよ。
自分でそれをやるかどうかは別にして。
いずれにせよ、gcc では式の中で変数を宣言できるのだから
ローカルラベルが可能になっても驚かないよ。
136132
2019/12/18(水) 23:56:34.28ID:9RDvo6To typedefを使用
https://pastebin.com/iX2DDpRA
https://pastebin.com/iX2DDpRA
137デフォルトの名無しさん
2019/12/19(木) 00:12:48.48ID:vqVcyk4J PHPはbreakにネスト数指定できるよな
138デフォルトの名無しさん
2019/12/19(木) 09:03:44.36ID:vjQjJ4nK C言語の開発者によるgoto文の使い方を対象とした実証研究の結果、「goto文は無害だと考えられる」
https://developers.srad.jp/story/15/02/14/2017207/
https://developers.srad.jp/story/15/02/14/2017207/
139デフォルトの名無しさん
2019/12/19(木) 16:51:03.60ID:86m15ms9 longjmp についても調査してほしいな。
特に例は挙げないが、誰もが使っているようなプログラムでも結構使われてる。
特に例は挙げないが、誰もが使っているようなプログラムでも結構使われてる。
140デフォルトの名無しさん
2019/12/19(木) 16:57:20.13ID:+cpLTGtZ static
141デフォルトの名無しさん
2019/12/25(水) 01:15:13.49ID:k3ZI/Zl3 >>139
それは代わりがない。
それは代わりがない。
142デフォルトの名無しさん
2020/07/09(木) 10:18:18.26ID:tNMImStE143デフォルトの名無しさん
2020/07/09(木) 10:22:15.80ID:vrNDocOm 発明って言うか当時はそれが普通だったろ
144デフォルトの名無しさん
2020/07/09(木) 10:51:31.74ID:I92CxMlL longjmpは「設計上のミス」ではないんでは。
むしろそういう動作をする目的で設計・導入されたように思えるけど
(longjmpに関するRationaleを読んでないので当てずっぽうw)
むしろそういう動作をする目的で設計・導入されたように思えるけど
(longjmpに関するRationaleを読んでないので当てずっぽうw)
145デフォルトの名無しさん
2020/07/09(木) 16:31:13.77ID:KHuqFwsC >>5
エスティーアールトゥーケー
エスティーアールトゥーケー
146デフォルトの名無しさん
2020/07/09(木) 21:58:30.04ID:Zo8nB2NL 例外は setjump、longjumpて実装されてるんじゃないのかな?
違うのかな?
違うのかな?
147デフォルトの名無しさん
2020/07/10(金) 22:03:48.37ID:AfLodKTd148デフォルトの名無しさん
2020/07/10(金) 22:26:03.98ID:U1HXCT7S returnが1変数しか対応していないこと。
ポインター祭りになって可読性がウンコになる
ポインター祭りになって可読性がウンコになる
レスを投稿する
ニュース
- 高市総理の周辺「小さな火種が火事になりかけている。早く鎮火しないといけない」 ★2 [Hitzeschleier★]
- 俳優 高岡蒼佑「エジプト出身とかナイジェリア出身とかの人が、日本の代表顔して移民の事とか話してるの見るとなんか違う気がする」 [Anonymous★]
- 【北京中継】「日本国民はとても友好的」日本訪問予定の中国人は冷静な反応…中国側報道「高市首相は辞任すべき」 [煮卵★]
- 中国の複数の旅行社、日本ツアーを中止 政府の訪日自粛要請受け [蚤の市★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★2 [冬月記者★]
- 「台湾も迷惑だと言っている」フジ「ホンマでっか」出演の早大名誉教授が高市首相発言に「日本はやばいことに」 [muffin★]
- 【悲報】中国人観光客、絶滅へ。中国旅行会社が日本旅行販売停止。中国人はもう二度と遊びに来れません😤高市どーすんのこれ [856698234]
- 【実況】博衣こよりのえちえち雀魂1位耐久🧪
- 【中国】日本向けツアー中止、邦画公開延期。ジャップが中国叩きをしてる間に続々と大きな制裁に向けて動きが加速www [305926466]
- 【悲報】中国「高市は信用できない」G20サミットでの会談予定なし [834922174]
- 大谷翔平の犬なんだっけ
- 日本人「戦争戦争!銃の撃ち合いでカッコいいぞ!」中国「高市さあ、対日禁輸だけすればわざわざ戦わなくてもこっちの勝ちだぞ?」 [517791167]
