2009-08-10

http://anond.hatelabo.jp/20090809201659

作法ではないな。内部処理的な問題。

http://anond.hatelabo.jp/20090809204059がよい解説のリンクを張ってくれたので見るといい。

簡単に言えば後置インクリメントは処理の内部で必ず一時的なバッファを必要とするので、オーバーヘッドがある。

・・・とはいえ、イマドキ口うるさく言うほどのものではないし、元増田が得意になって解説しているスコープでのメモリの振舞いと同程度の些細な問題。

そういう意味では目くそ鼻くそなシロモノ。

まぁ、普段から意識するのはよいこととは思うけどね。

トラックバック - http://anond.hatelabo.jp/20090810040048
  • 優秀なプログラマにたまに起こる逆行(退行)現象

    あれは私がまだ大学助手をしていたころだから3年ほど前のことだと思う。 私の勤めていた大学(情報系)では「プログラミング研究会」みたいなサークル活動が行われていて プログラ...

    • http://anond.hatelabo.jp/20090807172637

      正直、ケース1は大した問題ではない。 そりゃ、スコープの理解がきちんとしているのに越したことはないけど。 この程度でウダウダ言うぐらいなら後置インクリメントを改めるべき...

      • http://anond.hatelabo.jp/20090809195259

        http://d.hatena.ne.jp/cubicdaiya/20080606/1212695409

        • http://anond.hatelabo.jp/20090809201659

          作法ではないな。内部処理的な問題。 http://anond.hatelabo.jp/20090809204059がよい解説のリンクを張ってくれたので見るといい。 簡単に言えば後置インクリメントは処理の内部で必ず一時的な...

      • http://anond.hatelabo.jp/20090809195259

        後置きインクリメントってi++のことだよな? それが++iの方に改めろって言ってるんだよな? どして? 評価順が換わるのは分かるが、このケースでは処理結果に影響ないじゃん。i++だと...

    • http://anond.hatelabo.jp/20090807172637

      これマジ? 俺、未経験(もちろん非情報系専攻)で業界に入ってプログラミングやることになって1年くらい経つ。 その間の学習の軌跡はだいたいこんなもん。 とりあえずK&Rを読ま...

      • http://anond.hatelabo.jp/20090805183833

        26歳から職業プログラマーやってるが。 前職は文系職だし、学生時代にCとかFortranでゴミみたいな設計(ていうか設計ってなに?食えるの?みたいなレベル)の数値計算プログラムを書いた...

    • http://anond.hatelabo.jp/20090807172637

      文章から判断するに、その彼女は、 「創造」と「演繹」の能力に比べて 「分析」と「帰納」が優位だから、 先に理論を説明するより、 良い例、悪い例を見せてから、やらせてみて、 そ...

    • 優秀な女子学生に起こる逆行(退行)現象

      あれは私がまだ大学助手をしていたころだから5年ほど前のことだと思う。 私の勤めていた大学(情報系)では「SEX研究会」みたいなサークル活動が行われていて SEXの講義を受け持ってい...

      • C++は中高生のセックスに似ている。

        http://anond.hatelabo.jp/20090807204140 C++は中高生のセックスに似ている。何故ならば。。。 みんな、そればっかり考えている みんな、その話ばかりしている みんな、他の人もやっていると...

    • http://anond.hatelabo.jp/20090807172637

      プログラムは論理だけじゃない著作物ってことですね。 コンピューターのためだけでなく、人間にもわかりやすい記述が必要。 しかし、それは論理だけではなく経験も必要ということか...

    • 「知の高速道路」に対する違和感とかそういうの

      優秀なプログラマにたまに起こる逆行(退行)現象 を読んで具体的なプログラミングの内容についてはどこまで正しいのかわからんけど、一点だけ気になった点があったので。私がこの文...

    • http://anond.hatelabo.jp/20090807172637

      ケース1のどこが悪いかわからない。 変数iのスコープを適切にして、 変な箇所でiにアクセスさせて不良を発生させるリスクを減らせって話? 私がメインはC++のコーディングするから...

      • anond:http://anond.hatelabo.jp/20090808155916

        こういう人が書いたプログラムは保守性悪いだろうな・・・ ケース1で問題なのは、for文内で行っている処理が引数付きのメソッド呼び出しであること。 引数のないメソッドや、単純な...

        • http://anond.hatelabo.jp/20090808190412

          といったってたかが4バイトじゃないか。 ここで問題になるようなバイト数か?

        • http://anond.hatelabo.jp/20090808190412

          メソッド呼び出しは、どちらの書き方でもスタックにiがプッシュされるだけでは? もしかして特殊な環境の話?

        • http://anond.hatelabo.jp/20090808190412

          にやにや

        • http://anond.hatelabo.jp/20090808190412

          ところが今回はカウンタ変数を引数に入れてメソッドを呼び出している。 そうなると、メソッド呼び出し先で、仮引数のメモリを毎回確保することになるので、 カウンタ変数を共通...

          • http://anond.hatelabo.jp/20090809025641

            C/C++ならば、ループカウンタにローカル変数を使えば、最適化されることは分かってるから保守性重視で書く。 真面目なコンパイラなら1はどっちを書いても同じようなコードになるさ。 ...

            • http://anond.hatelabo.jp/20090809041310

              真面目なコンパイラなら1はどっちを書いても同じようなコードになるさ。 同じようなコードというのはコンパイラが吐き出すアセンブラコードの話?? 真面目なコンパイラなら修正...

              • http://anond.hatelabo.jp/20090809140038

                レジスタの多いCPUの場合で、単純なループが最適化されるとループカウンタはレジスタ上に確保される。 ローカル変数の場合。全てのコンパイラを知ってる訳じゃないから、全部そうな...

                • http://anond.hatelabo.jp/20090809214956

                  なるほどコンパイラで同じアセンブラコードはかれるんですね。 じゃ、変数のスコープ短く保つべきですね。

                  • http://anond.hatelabo.jp/20090809221833

                    http://anond.hatelabo.jp/20090809221610 最初の文と次の文が全然つながってない気がする 吐かれるコードが一緒なのに、じゃ、の意味が分からない…

            • http://anond.hatelabo.jp/20090809041310

              まー、こんな所をチマチマこだわっても、全体は良くならん。 こまけーこたぁいいんだよ!!(AA略 そこは同意。 ただ大元の増田の投稿で「退行」って騒いでいるから、そんな騒ぐほ...

            • http://anond.hatelabo.jp/20090809041310

              Cから入った中途半端なC++プログラマでオブジェクト指向の理解イマイチだからかもしれないけど、私はこんなコードをよく書く。 ObjA *a = NULL; ObjB *b = NULL; int rc = RC_SUCCESS; a = createA();...

              • http://anond.hatelabo.jp/20090809183815

                本題と外れるのだが、この人はきっと職業プログラマーではないんだろうな。 こんなの同僚に見られた日には・・・ オブジェクト指向とかそんなん関係ない。

              • http://anond.hatelabo.jp/20090809183815

                提示したコードがアレ過ぎ。 背景も知らないし調べもせずにそんなコードをとりあえず書き換えるならこんな感じ。 適当に自分の好みを入れているのでツッコミ入れたくなる人もいるだ...

                • http://anond.hatelabo.jp/20090809205114

                  最近pythonに手を出したおかげか、こんな時は例外を、と思う。 C++的にはどうなの?

                • http://anond.hatelabo.jp/20090809205114

                  ホント、アレげなコードでサーセン。 元々アレげなコードだがなぜか投稿が失敗するのでコード削ったら、 さらに何が言いたいコードかわからなくなった。 私がC++でコーディングする...

              • anond:20090809183815

                C++とか最近全然触れていないから不安だけど、私ならこんな感じに書くよ。 std::auto_ptr<ObjA> a = createA();std::auto_ptr<ObjB> b = createB();return (!a) ? RC_ERROR1 : (!b) ? RC_ERROR2 : R...

      • http://anond.hatelabo.jp/20090808155916

        実際に稼げてるか分からないメモリのために、変数の寿命を短く保つというルールを曲げるのは、割が合うかどうかって話じゃないの? 「変数の寿命を短く保つ」という基本的なルール...

    • http://anond.hatelabo.jp/20090807172637

      長文の割に内容なさ過ぎ。別に難しい用語を使ってるわけでもないのにこういうのがかけるのも才能なのかもしれん。何が正しい方向かが全然明示されないからその逆行現象というのも...

    • http://anond.hatelabo.jp/20090807172637

      お前中卒だろ?

    • http://anond.hatelabo.jp/20090807172637

      現役中学生の間違いでは。

    • http://anond.hatelabo.jp/20090807172637

      あれは私がまだ大学助手をしていたころだから3年ほど前のことだと思う。 過去形で書いてあるのはクビになったからだろうか。

    • http://anond.hatelabo.jp/20090807172637

      Google Docsはグローバル変数を使う、定石とは逆の実装 | エンタープライズ | マイコミジャーナル http://journal.mycom.co.jp/news/2009/08/11/020/index.html