コミュニティアイコン プチコン 非公式コミュニティ トピック

アバター
おだたけ ◆hchxlfDZHhqO
2020/7/11 14:42
質問
INC,DECと+,-
INC,DECと+,-のよくある使い分け方とか、
こうやって使ってる〜みたいなのが
あれば教えて下さい
個人的には A=A+1 と書くより
INC A って書く方が好きです

コメント

アバター
こういち 2020/7/11 14:48 ◆.Id/aHiU36hu
よくある使い分けは対象が配列かそうでないか。
命令は呼び出すときにコストがかかるので、
INC V
より
V=V+1
の方が光速い。

配列の場合は話が変わってきて、プチコンは配列が音速いので、二回参照される
A[0]=A[0]+1
より
INC A[0]
の方が光速い。
アバター
さすらいの名無し 2020/7/11 15:26 ◆LWMA5UzCJb3e
速度だけの問題じゃなくて、

A=1
B=A
INC B
と書くと、Bはもちろん2ですが、Aも2になります。

A=1
B=A
B=B+1
だと、Bは2、Aは1になります。
アバター
こういち 2020/7/11 15:31 ◆.Id/aHiU36hu
さすらいの名無しさん
それは偽な気がします。
A[0]=1
B=A
INC A
でB[0]が2
だったと思います。(うろ)
(参照渡しという)
これを回避するには
B=A
でなく
COPY B,A
と書くと回避できます。

参照渡しは、配列をアドレスと呼ばれる住所のようなもので管理しているから起こる現象です。その概念が理解できれば参照の動きも理解しやすいです。(蛇足)
アバター
でんぺん 2020/7/11 17:39 ◆HfSy5ayxtyTa
参照渡しかどうかはともかくとして、変数名が長い場合はINCの方が文字数が少なくなるというメリットがありますね。1文字の変数名の時は変わらないですが…。
アバター
あきと 2020/7/11 18:18 ◆Q/mp.qcMuPYu
A=A+1の時は短いから入力間違いは起きにくいけど
MYLIFECOUNT=MYLIFECOUNT+1
のような変数名が長い時につい
MYLIFECOUNT=MYLIFEC0UNT+1
みたいな事をしてしまって「なぜ増えずにずっと1?」みたいなことをしてしまうのでINCの方がオススメです。
アバター
おだたけ 2020/7/11 20:25 ◆hchxlfDZHhqO
なるほど。処理速度の話だったり
使い方によって変数の中身が変わったり。
タイプミスを防ぐためっていうのも
単純に見えて結構大事ですね。
ありがとうごさいます。
アバター
ツララ 2020/7/14 12:18 ◆ArUdBYOYME1V
こういちさんの「光速い」や「音速い」って言い回し好き
アバター
こういち 2020/7/15 19:43 ◆.Id/aHiU36hu
音速(おそ)い
光速(はや)い

意味は読みの通り。
アバター
高原のな 2020/7/15 20:30 ◆bY8RViwvoODw
(こういうの言うのアレだけど音速(字面通り)ってだいぶ速いんだよなー。10の何乗のオーダーで繰り返す処理になってくるとこの差が顕著に表れるけれどね)
最後はそのコードを書く目的・書きやすさその他諸々のバランスを見て決めるのが良いですね
アバター
さすらいの名無し 2020/7/15 20:53 ◆LWMA5UzCJb3e
音速い→普通に速い
光速い→ものすごく速い(一瞬)
的な感じだと思ってた()
アバター
ugly777 2020/7/15 21:22 ◆B7lOIJDWuOqi

そうですね。
アバター
こういち 2020/7/15 22:52 ◆.Id/aHiU36hu
3k(矢印3つ書くのが面倒だった)
音速。金属中とかだととても速い。光速が速すぎるだけ。
その光速も水とか鉄の中とかだとかなり遅くなる。
プログラム高速化ガチ勢にとっては光速ですら遅いらしい。
アバター
高原のな 2020/7/16 19:01 ◆bY8RViwvoODw
光速でさえ地球一周は0.1秒以上かかるのだから、ネット回線はもっと遅いし、宇宙探査機との交信はもっともっと遅い

あ、普段はA=A+1派です
アバター
キルル2 2020/8/15 4:12 ◆rGE712Ruejv7
INC A
よりも
A=A+1の方を好んで使います

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -