C++相談室 part148

■ このスレッドは過去ログ倉庫に格納されています
2020/01/31(金) 20:54:06.26ID:Nt0XFA2s
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/ (日本語)
2020/02/01(土) 23:01:32.69ID:EspH/Y2K
goto とか break とか continue とか、他の言語(javaとか)でもいろいろ小手先的に弄られているけれども、それに何の意味があるのかいつも不思議におもいますね
C/C++ の goto とかはどう頑張っても関数の中でだけしか跳べないのだから、BASIC の GOTO ほどにはスパゲッティ状態を招けないのではと考えます
無論、その関数が異様にデカければ別ですが、そんなデカい関数を書くほうが問題であって goto が問題なのではないかと
2020/02/01(土) 23:11:38.33ID:tav2AwxI
ループを抜ける為にだけ使われる変数を使ったループ抜け
世の中にはたくさんこういうコードがある
たくさんのコードを見る機会がある人なら
たくさん見たことがあるはず

gotoネガティブキャンペーンのせいだよ
2020/02/01(土) 23:11:46.92ID:JWECbGc7
>>136
gotoが使わないで済むように進化してくのは期待している。
ただ現状として、多重ループを抜ける場合みたいにgotoを使うのがシンプルで分かりやすいならば、毛嫌いしたり盲目的に原則振りかざすよりgoto使えばいいだけのことだと思うよ。
2020/02/01(土) 23:32:29.85ID:TULylXcw
>>138
お前ほんとに病気だな
多重ループ脱出でgotoが簡潔なのはみなわかってる
でもgotoは自由度が高すぎて構造を壊す可能性があるわけ
だから改善するとしたら何があるかという話をしてるだけであって
別にgoto禁止とかの話はしてない
好きなだけ使ってろよ
あと構造化プログラミングぐらい知っとけ
2020/02/01(土) 23:45:45.20ID:tav2AwxI
>>140
色々と違う
2020/02/01(土) 23:46:54.20ID:vKrtBnhX
for () {
break label;
} label;

for () {
for () {
break label1
} label2;
} label1;

こういう風にfor文のお尻にラベルを付けられるようにすれば局所化したgoto風のbreakが使えるのでは
2020/02/01(土) 23:48:30.11ID:tav2AwxI
for () {
goto label;
} label:;

for () {
for () {
goto label1;
} label2:;
} label1:;
2020/02/01(土) 23:49:00.26ID:tav2AwxI
今でも出来る
2020/02/01(土) 23:49:30.89ID:wBNP08tW
Pythonはループにラベルをつける手が使えた
と思った(幻覚でなければ
2020/02/01(土) 23:52:18.24ID:pUJoLXPw
またgotoの話になってんのかよ。。
だからいっそ禁止にと思ったが、それよりもさらにクソな構文の提案が出てたり。。
想定を超えた馬鹿どもばっかりじゃねーか。
2020/02/01(土) 23:54:48.66ID:tav2AwxI
無理に会話に入って来なくて良いよ
2020/02/01(土) 23:59:22.03ID:7G0Z2VlM
ただ、凝りに凝った複雑怪奇なテンプレートより
シンプルに作ったマクロの方が読みやすいって事例も当然あるだろうよ
てか、わりと、最近、残念ながらその傾向が・・・で、C++が嫌われる理由にも・・・
だからgotoを殺すのも上手くやらないとむしろ酷くなる
そこが腕の振るいどころで面白い部分でもあるし、言語作ってる連中もそんなことで頭いっぱい
変なゲーム性が有って、逆にそれがまたダメな部分でもあって
あと、妹大好き
2020/02/02(日) 00:17:33.29ID:rWwvB4I9
多段breakの使用頻度がそれほど多くないことを加味すれば
break n;方式が妥当だろうね
これだと2重ループを3重ループに書き換えたときにバグる、とか
意味不明なことを言ってる奴もいるが
それは1重ループをbreakで抜けてたのを2重ループに書き換えたらバグった
と言ってるのと同じであって、当たり前の話だし、今でも同じことだ
break n;が一番シンプルで妥当だと思うね
2020/02/02(日) 00:32:21.06ID:7b/FZYuN
breakの後にマジックナンバーを書くのが気に入らない
定数には意味のわかる名前を付けたい
2020/02/02(日) 00:33:00.49ID:rWwvB4I9
ただし、break n;のnの部分が変数でもOKとかなってたらかなりウザいが
そこはnは定数と定めたいね、でもC++の場合は定数と言っても・・・
複雑にしようと思えばいくらでも複雑にできるわなー
普通に使う分には問題ないかと
明日からbreak n;が入っても、たぶん誰も困らないし、混乱も起きないだろう
割のいい賭けだし、俺はアリだと思うね
2020/02/02(日) 00:33:32.69ID:7b/FZYuN
breakとbreak nが同じとか意味不明な主張をなさる御仁がいらっしゃるが
じゃあcontinueがcontinue nになったらどんな地獄が発生するか
考えてみたら良い
2020/02/02(日) 00:48:04.23ID:rWwvB4I9
別にcontinue n;
全然ありでしょ
これと同等の事を、何か別の方法でやるよりスマート

for(;;){
 bool do_continue = false;
 for(;;){
  if(...){ do_continue = true; break;}
 }
 if( do_continue ){ continue; }
}



for(;;){
 for(;;){
  if(...){ continue 2; }
 }
}
2020/02/02(日) 01:00:22.64ID:7b/FZYuN
do {
 do {
  ...
  if (cond) {
   continue 2;
  }
 } while (副作用の有る式1);
} while (副作用の有る式2);
とから?
2020/02/02(日) 01:03:23.27ID:0Gqmr542
break nなんてやるくらいならbreak label で抜けるループを明示的に指定したいな

ループにラベルをつけるとして、先頭では見づらくて邪魔だな

ループの末尾にラベルを付ければ見やすいけど、それだとlabelついたループを抜けると言うよりlabelの指す位置へのジャンプだな

なんだgotoでいいじゃん

個人的には breakto label という記法でループ出口に書いたラベルに飛べるとするのが分かりやすいと思うけど、こんなことに新しい予約語を導入するくらいならgotoで十分だと思う。
2020/02/02(日) 01:06:28.34ID:7b/FZYuN
break nが良いとか言ってる椰子は
ついでに行番号も復活してほしいと思っているに違いナス
2020/02/02(日) 01:15:40.31ID:rWwvB4I9
do{
 do{
  if(...) goto NEXT;
 }while(...);
NEXT;
}while(...);

と等価だろう
要はこういうgotoを置き換えるために作られたのが
continueなのだから、そのルールに従うのが普通だろうね

もしくはgoto使わずにフラグでやっても、どのみち内側のループの条件式は実行されないわけで

do{
 bool do_continue = false;
 do{
  if(...){ do_continue = true; break; }
 }while(...);
 if(do_continue) continue;
}while(...);

これ以外の解釈ってのは難しい
2020/02/02(日) 02:23:51.88ID:93obPCeA
gotoの話題って今でもこんなに盛り上がるのか
2020/02/02(日) 02:49:52.74ID:LC7cWz9a
老害が多いから
2020/02/02(日) 03:26:54.49ID:EDNK6zQt
そういう機能要望みたいなのここでやる意味ある?
C++Slackでやった方がよくない?
161デフォルトの名無しさん
垢版 |
2020/02/02(日) 03:45:22.96ID:mzCY/+E0
英語は敷居が高いよ。
2020/02/02(日) 05:06:46.10ID:DTIMfhpJ
         ,,-―--、
        |:::::::::::::;;;ノ 
        |::::::::::( 」 <もう構造化は破綻してるんだからおとなしく goto しとけよな!
        ノノノ ヽ_l  
       ,,-┴―┴- 、    ∩_
     /,|┌-[]─┐| \  (  ノ
      / ヽ| |  バ  | '、/\ / /
     / `./| |  カ  |  |\   /
     \ ヽ| lゝ    |  |  \__/
     \ |  ̄ ̄ ̄   |
      ⊂|______|
       |l_l i l_l |
       |   ┬    |
163デフォルトの名無しさん
垢版 |
2020/02/02(日) 06:40:45.35ID:mzCY/+E0
じゃあswitchも要らないって事じゃないか。
2020/02/02(日) 06:51:18.30ID:9jRHEnns
>>149
break n なんて間抜けの極みだと思いますね
java にはラベル付き break が存在して、ほとんど goto です https://www.sejuku.net/blog/20100
2020/02/02(日) 07:37:33.82ID:SWo7Ruqh
>>136
Cはgoto殺すために進化してねえよ
Cのgotoが関数外に飛べないのはスタック巻戻しのような仕掛けが複雑になりすぎるからで
構造化プログラミングで否定されるからという理由ではない
構造化プログラミングで否定される制御構造を持たないことにするなら
breakやlongjmpは存在できないはずだ
2020/02/02(日) 07:44:05.46ID:pBPOCWQ5
結論が先にあって理由が後付けだから支離滅裂、一貫性の欠片もない事を書く
もはや宗教
2020/02/02(日) 07:46:45.45ID:SWo7Ruqh
ほんと、宗教だね
洗脳されてるやつは強固に思考停止していて
何を言おうが馬の耳に念仏だ
2020/02/02(日) 08:06:14.41ID:SWo7Ruqh
>>159
根底がわかってねえやつが多いからだよ
古典的な基本がわかってねえやつは若造と爺のどっちに多いだろうね
頓珍漢なことを書いて袋叩きにされたからって逆恨みする精神性なやつはどっちに多いだろうね
2020/02/02(日) 08:18:25.64ID:9aZda2U6
break labelでいいんじゃね
gotoと同じだが、labelがbreak的な位置にない場合コンパイルエラーになれば良い
2020/02/02(日) 08:27:24.30ID:DTIMfhpJ
label貼るくらいならgoto使う
171デフォルトの名無しさん
垢版 |
2020/02/02(日) 09:22:07.84ID:mzCY/+E0
gotoは便利なswitchだからね。
便利すぎるわこれ。
これからも積極的に使っていこうと思います。
2020/02/02(日) 09:40:59.69ID:7b/FZYuN
さすがにgotoでジャンプテーブル化の最適化までやる処理系は
まれだと思う
173デフォルトの名無しさん
垢版 |
2020/02/02(日) 09:43:27.45ID:mzCY/+E0
アドレス直接指定なのに、テーブル必要ないんじゃないの。
テーブル必要ない分、switchより有利なんじゃないかと思いました。
2020/02/02(日) 09:51:12.60ID:7b/FZYuN
(条件分岐無しの素のgotoだけでどうやってswitchの便利な代替品にするつもりなのやら…
175デフォルトの名無しさん
垢版 |
2020/02/02(日) 09:53:50.90ID:mzCY/+E0
頑張ってひねり出した!!
けどウンコにしか見えない。
納得できるものを頼む。
2020/02/02(日) 09:55:31.36ID:0Gqmr542
>>175
お前が何をいってるのか、何を考えてるのか理解できないのに、お前を納得させられる奴なんていないぞw
2020/02/02(日) 10:10:20.38ID:o79zkFFu
お尻にラベルつけて break ラベル; がいいとか言ってる奴は構造化の意味がわかってなさ過ぎ
ラベルは飛び先じゃなくてループに付けて break ラベル; でそのループから抜けるんだよ
なので break ラベル が使える言語はたいていループの頭にラベルをつけるようになってる
あと break レベル数 とか言ってる老害は早く滅びろ
2020/02/02(日) 10:28:45.43ID:DTIMfhpJ
名前使うならこんな感じか
void main(){
auto scope1 {
for(;;){
 for(){
  break scope1;
 }
}
}
179デフォルトの名無しさん
垢版 |
2020/02/02(日) 10:29:18.43ID:mzCY/+E0
>>176
俺自身何を言っているのかよくわからないのだが。
2020/02/02(日) 10:31:44.19ID:DTIMfhpJ
もしくは、forの直後
void main(){
for(;;)scope1{
 for(;;){
  break scope1;
 }
}
}
2020/02/02(日) 10:58:10.77ID:MNdu0823
void main()の時点で読む気失せた
2020/02/02(日) 11:16:46.30ID:DTIMfhpJ
んだこんにゃろ
2020/02/02(日) 11:22:39.21ID:D8WvcGqJ
ループの先頭にラベルを書くくらいなら
gotoの方が分かりやすい
184デフォルトの名無しさん
垢版 |
2020/02/02(日) 11:25:45.57ID:mzCY/+E0
あの、スレとは全然関係ないんだけど。
Boostでデバッグとリリース判別するマクロってありますか?
イテレータを1億回ほど回すのでデバッグだけテストを迂回したいんですが。
2020/02/02(日) 11:30:31.96ID:9aZda2U6
なぜboost?
186デフォルトの名無しさん
垢版 |
2020/02/02(日) 11:34:47.86ID:mzCY/+E0
NDEBUGを知らなかったからです。
おまえらおせーよ。
2020/02/02(日) 11:39:04.55ID:SWo7Ruqh
NDEBUGってISO/IEC9899やん
おまえさんがboostっていうから
レスポンス鈍かったんだよ
188デフォルトの名無しさん
垢版 |
2020/02/02(日) 11:48:10.68ID:mzCY/+E0
だよね。
そうだと思いました。
189デフォルトの名無しさん
垢版 |
2020/02/02(日) 11:49:31.89ID:mzCY/+E0
今度からはよく考えて質問しようと思います。
2020/02/02(日) 14:38:02.14ID:rWwvB4I9
今の一重ループを抜けるときの普通のbreakにはラベルを付けないのに
多重ループを抜けるためのbreakにはラベルが無いと読みにくくなるっていう
発想というか対称性というか整合性というか必然性が全く見えないんだが
今ラベル無しの一重breakで誰も発狂することもなく普通に使えているのに
多重breakになった瞬間にラベルが無きゃダメってなるのはなんか弱い
同じことを二回書いたけども
ラベル無しでも別に普通に読めるでしょ、今まで読めてるんだから
大体ラベル付けるんならgotoと手間自体は変わりないしな
191デフォルトの名無しさん
垢版 |
2020/02/02(日) 14:40:18.63ID:mzCY/+E0
今多発今多動ラ大
読み解けなかった。
2020/02/02(日) 14:41:51.46ID:gkoi3ncl
>>190
同意
193デフォルトの名無しさん
垢版 |
2020/02/02(日) 14:43:14.46ID:mzCY/+E0
え、わかるんだ。
すげー。
194デフォルトの名無しさん
垢版 |
2020/02/02(日) 14:47:27.35ID:gXxB23XL
下方向にだけ飛べるgoto相当機能があればgotoは要らなくなるんじゃない?
2020/02/02(日) 14:53:57.04ID:7b/FZYuN
>>190は、Cにgoto <label>とbreakがあるのになぜCはbreak nを設けるところまで踏み込まなかったのか、とか
break <n>で即値<n>に行き当たったコード閲覧者が行き先を知るために何をせねばならないかとか、
考えた方が良いので
は…
2020/02/02(日) 14:55:47.03ID:0Gqmr542
>>190
break nを勧めている人?
対象が1段なのと複数段とでは大きなギャップがあるでしょ。単純に対称性があると言えるものではないと思う。
ラベルつけるならgotoと手間が変わらないというのは同意。ただ、重要なのは手間が減ることではなく、複数段のループの外に出ることが明示されることだから、gotoと意味が混同されず同じ程度の手間でできる記法があるならそれは嬉しい。
2020/02/02(日) 14:56:57.31ID:EDNK6zQt
現実のC++について話せ
ここで新機能の導入について議論しても無駄だ
フォーラムでやれ
2020/02/02(日) 14:57:45.57ID:gkoi3ncl
手間が減ることは重要だよ
ラベル名を考える手間をかけて良いならgotoで良い
2020/02/02(日) 15:01:24.88ID:rWwvB4I9
大体だよ、多重ループはbreakで抜けれないので、仕方なくgoto使うときの
そのgotoを使う都合で必要になった、そのラベルをだよ
じゃーブロックにラベルをつけましょう、ってなんでそーなんだよ
元々のbreakにはラベルなんかねーのに
breakにラベルが無くて混乱したやつ居るか?

ご飯が無いからパンを食べてた状況なのに
すり替わってパンありきになって、パンが無きゃ話にならないとか言い出す始末
別にパン(ラベル)なんかなくても、ご飯があるならご飯食べろよ

ラヘルラベルって、そのラベルがどこ由来か考えてみろよ、gotoだろ?
もう一度言うが、もともとのbreakにはラベルなんかないし、それでみんな普通に過ごせてるし、混乱も起きてない
ただ、gotoで抜けるためには文法上/機能上ラベルが必要だったねってだけで、そこに着目しても仕方がない
本質的には無くても別に困らない
2020/02/02(日) 15:05:16.61ID:jVWLSRwc
ソースコードチェック目的でプログラム読むとき、gotoが出てきたら
そのgotoの使用方法が問題ないものなのか、いちいちチェックしないといけない。
breakならループ抜けるという意図が明白なので、チェックしなくてよい。
2020/02/02(日) 15:11:47.92ID:rWwvB4I9
そんなに名前が無いと発狂するんならもうgoto使えば?って思うし
なんなら関数化して正式に名前付ければって思うし
そこまでしたくないってときにbreak nが便利なわけだ
やりたいことは「多重ループから抜けたい」であって
「名前を付けたい」ではない!!
2020/02/02(日) 15:11:53.90ID:gkoi3ncl
関数コールも問題のないコールかどうかチェックしないといけないから
使わない方が良い
2020/02/02(日) 15:14:22.99ID:EDNK6zQt
それならもうポインタもグローバル変数もマルチスレッドも大量のチェックが必要だから使ってはいけないってことで
2020/02/02(日) 15:14:36.78ID:Rn0kkYyt
>>199
私と認識が似ていますね

>>137
>goto とか break とか continue とか、他の言語(javaとか)でもいろいろ小手先的に弄られているけれども、それに何の意味があるのかいつも不思議におもいますね

>>164
java にはラベル付き break が存在して、ほとんど goto です https://www.sejuku.net/blog/20100
2020/02/02(日) 15:15:16.61ID:7b/FZYuN
現行のC/C++にはgoto <label>がある一方、break <n>は無い
もしbreak <n>の追加がgoto <label>の実装より難しかったからやらなかったのだとしたら、
break <n>の飛び先がgoto <label>の飛び先より簡単にワカルから優れているという主張は根拠を失う

break <n>はわかりにくいか、さもなくばgoto <label>と同等なんである
206デフォルトの名無しさん
垢版 |
2020/02/02(日) 15:16:38.00ID:mzCY/+E0
constがスレッドセーフなのも困った。
2020/02/02(日) 15:24:46.36ID:jpTipLln
>>201
現実ありえないのは重々承知したうえで書くけど
100重ループを脱出するとき数を数えたくないだろうなって思うじゃん
ほかにも3重ループとかで2ndと3rdのループから共通の脱出先ラベルにもできるわけじゃん
文法を拡張する前提ならそこまで想定すべきだと思うね

粗野な即値の数字じゃなくて意味ごとに名前をつけられるようにしてきたのが
プログラミング言語の進化の歴史なのでおれは自然だと思うよ

というかそういう観点からラベル付きbreakというのは他の言語にはあるわけで
で今話してるのはもっと書きやすく読みやすくできないかというトピックでしょ
break Nは使えるだろうけど洗練されてない感じ
2020/02/02(日) 15:27:11.67ID:gkoi3ncl
break [n] はラベル名を考えなくて良い利点がある
使えるなら使いたい

ラベル名を考える必要があるならgotoで良い

ループの先頭で名前を付けるのはgotoより見づらいから使わない
2020/02/02(日) 16:01:27.30ID:o79zkFFu
break n とか言ってる奴は何故か>>150をスルーしてて笑うわ
2020/02/02(日) 16:07:52.43ID:nz0OxFB3
他の人は「マジックナンバー」だと思わなかったからでは。
211デフォルトの名無しさん
垢版 |
2020/02/02(日) 16:20:03.66ID:gXxB23XL
foobarやhogeを超える人気なダミー文字列を考えたほうがよほど建設的だぞ、君たち。
2020/02/02(日) 16:35:55.51ID:SWo7Ruqh
break 5; //C
GOTO 5 : REM BASIC
2020/02/02(日) 16:37:04.55ID:gkoi3ncl
マジックナンバーがイヤなら
break break;
2020/02/02(日) 16:50:03.80ID:DTIMfhpJ
関数で置き換える
引数がめんどうならラムダで置き換える
returnが多重breakの代わりになる
2020/02/02(日) 16:58:55.02ID:SWo7Ruqh
>>214
多重ループを単一関数に書くって前提だね
2020/02/02(日) 17:03:09.93ID:7b/FZYuN
>引数がめんどうならラムダで置き換える ←New!
これは場合による
for (i=0; i<INT_MAX; i++) {
 for (j=0; j<INT_MAX; j++) {
  (何がしかの処理)
 }
}

for (i=0; i<INT_MAX; i++) {
 for (j=0; j<INT_MAX; j++) {
  ((何がしかの処理)を行うラムダ式fを定義)
  f();
 }
}
とするのではご利益が無いが、

((何がしかの処理)を行うラムダ式fを定義)
for (i=0; i<INT_MAX; i++) {
 for (j=0; j<INT_MAX; j++) {
  f();
 }
}
とするのではラムダ式定義時点でループ内の変数を参照できないから場合によっては詰む
結局f()は引数がぞろぞろ並ばねばならない
2020/02/02(日) 17:05:11.10ID:+9zyTEwm
>>216
>>75
2020/02/02(日) 17:06:58.49ID:7b/FZYuN
>>217
左様
それがラムダ式を適用して解決づべき適切な場合である(キリ
2020/02/02(日) 17:15:36.03ID:SWo7Ruqh
ジーオーティーオーというスペルでなければ
制御構造はそのままでいいと言うクソ論法
220デフォルトの名無しさん
垢版 |
2020/02/02(日) 17:52:12.55ID:mzCY/+E0
スレとはあまり関係ないんだけど、nodiscard属性を無視するにはどうしたらいいですか?
2020/02/02(日) 17:59:47.60ID:MNdu0823
変数で受けといてその変数をガン無視すればいいんじゃないの
未使用変数の警告出るだろうけど
222デフォルトの名無しさん
垢版 |
2020/02/02(日) 18:00:14.37ID:mzCY/+E0
やってみます。
アリガト。
2020/02/02(日) 18:11:02.03ID:o79zkFFu
>>210
お前の言う「他の人」はマジックナンバーの意味わかってないってことか?
このスレ見てたらありえなくもないかと思えてきたわw
224デフォルトの名無しさん
垢版 |
2020/02/02(日) 18:13:54.31ID:mzCY/+E0
あと三日くらいしたらお前より出来るようになってるから。
2020/02/02(日) 18:24:38.31ID:jpTipLln
>>220
(void)func();
2020/02/02(日) 18:28:22.08ID:x1m+isRG
>>208
昔のBASICは、行番号を勝手に付けてくれていたのでgotoでもラベル名を考えなくて済んだのでとても便利だった。
2020/02/02(日) 18:30:04.52ID:x1m+isRG
>>226
なお、アセンブラでは行番号がなかったのでラベル名を考える必要があったが、
意味のあるラベル名を考え出すのは大変だったので、分かり易い場所以外は、
多くの人が、lab1: lab2: lab3: のような連番を使う傾向があった。
228デフォルトの名無しさん
垢版 |
2020/02/02(日) 18:30:14.15ID:mzCY/+E0
>>225
メモっときます。
ありがと。
2020/02/02(日) 18:31:42.37ID:Rn0kkYyt
>>226
>昔のBASICは、行番号を勝手に
auto 文だったかな…
2020/02/02(日) 19:36:27.12ID:7b/FZYuN
VB6には行番号は無かった
2020/02/02(日) 20:26:55.80ID:GV9CDSqK
みんなってc++で何を作ってるの?
ゲーム?
2020/02/02(日) 21:07:54.17ID:YP+sfqkD
何も作ってないやつがほとんどだろ
2020/02/02(日) 21:15:29.52ID:GV9CDSqK
すまん俺の聞き方が悪かったのかもしれん
最近プログラミングの勉強始めて、各言語の用途とか調べたんだけど、ここでも一応聞いてみたかったの
何を作ってるって言うより、どんな開発に携わってるかっていうのを聞きたかった
2020/02/02(日) 21:21:43.96ID:DTIMfhpJ
テキストエディター
3Dモデラー
メーラー
2020/02/02(日) 21:25:09.08ID:vTjBAXNr
競技プログラミング
2020/02/02(日) 21:39:16.36ID:GV9CDSqK
アプリ開発にも使われるのかー
あざした
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況