数年前,まだ私が C++ でゲームを書いていたころ,深すぎる関数のネストは「一旦変数に入れ」て「読みやすくする」というコーディングスタイルにだいたい落ち着いていた.もちろん,「これは一旦別名を付けるだけで,変数に再代入する気はないよ」ということで const も付ける.ただあまり大きなデータのコピーは嫌だよねということで,戻り値が std::string や構造体の関数呼び出しを「一旦変数に入れる」ときは const 参照を好んで使っていた. A(B(C(a), b, D(E(c), d, e))); 「む,なんて読みにくいコード.ばらせよ」 const int target_id = C(a); const MessageBody& message_body = D(E(c), d, e); const Message& msg = B(target_id, b, message_bod
Here A Const, There A Const by Walter Bright ちょっとしたプログラムを書くなら、柔軟で寛大で、 そんなに杓子定規でないようなプログラミングシステムが便利です。 しかしプログラムの複雑さが増すにつれて、 コード中の宣言の意味をコードそのものできっちり記述することに利点が出てきます。 プログラマは、巨大なアプリケーションを部分部分に区切って、 特定の状態変化の影響を狭い範囲に限ることができるようにすべきです。 そうすることで、遠く離れた位置にあるコードが同じデータを書き換えるという結合を避けることができます。 コードではなくドキュメントに書くという方法ではどうしても、間違った、ミスリーディングな、 不完全で古い、そもそも記述されないドキュメントしか残らない危険があります。 このような場面が、"const性" の重要な使い道です。 C や C++ には
ロベールのC++入門講座を読んで C++ を初歩の初歩から再入門するよ - 前編 - ひげぽん OSとか作っちゃうかMona- 参考になりまする. const が出てきた。これ重要。 一応 const の例を全部書いてみよう。 const char* s = "hige"; // ポインタ s の指す先 変更不可 const char&r = s[0]; // r の参照先 変更不可 const int i = 1234; // i の値 変更不可 char* const p = "hige"; // p 変更負荷 以前『C++ と const 参照 - NyaRuRuの日記』でも書きましたが,const 怖いよ const な私のイメージはこんな感じ. s はアドレスの入った箱で,こいつを通しては変更不能.だけど指す先が不変値とは限らない. r は箱っぽい名札で,こいつを通しては変更不能
とりあえずみんな一回 let 句使ってコード書いてみるべき. var seq = from _ in Enumerable.Repeat(1, 1) let x = 1000 let xs = new List<int>{x} let y = Math.PI / 2.0 let z = "hauhau" select _; var pixelsQuery = from y in Enumerable.Range(0, screenHeight) let recenterY = -(y - (screenHeight / 2.0)) / (2.0 * screenHeight) select from x in Enumerable.Range(0, screenWidth) let recenterX = (x - (screenWidth / 2.0)) / (2.0 * screenW
バグというのは、意図しないところで状態が変更されることにより発生することが多く、 C++のconstメンバ関数は、メンバの状態が変更されないことを保証する、という強力なチェックを 提供してくれるので、mutableとconst_castという例外を除いてメンバの状態変更によるバグは起こりえません。 constメンバ関数はとても強力なので、const操作な関数には常にconst付けてほしいです。 というか、付けてくれないと本当に困るので付けてください。const付けてください。 C++ で const メンバ関数にすべきところで const になってないと本当に迷惑ってのは同意. ただ,const T なオブジェクトを直接触れるときはいいんだけど,現実問題として const T* とか const T& で引き渡されてくることが結構あって,その場合は const メンバ関数だろうがそうじゃな
皆さんは、「ダイナミックリコンフィギュラブルプロセッサ」(Dynamic ReConfigurable Processor : 動的再構成可能プロセッサ)をご存知でしょうか。おそらくは専門家はともかく、世の中…いや、広い意味での技術者に限ったとしても、「ダイナミックリコンフィギュラブルプロセッサ」などという言葉すら聞いたことのない人の方が圧倒的に多いでしょう。そこで、本稿ではこのダイナミックリコンフィギュラブルプロセッサ(以下、DRP)について、述べていきます。 本当は「こんなに簡単!」とか「サルでもわかる」、「大企業役員にもわかる」などというタイトルにしたかったのですが、自粛しました。多少の難しい専門用語が出てくるかもしれませんが、根気良くお付き合いください。 「ダイナミックリコンフィギュラブルプロセッサ」の意味 大規模な演算処理を高速に行う場合、処理を構成する演算器を1つしか使わないよ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く