この映画の見所はやっぱり戦闘機のドッグファイトだね。混乱した状況で即席でチーム作るところとかエースコンバット6の最初のシーンを思い出した。映画2013/06/18NULLチェックMSDNより。対する妥当な外挿でした。年ごろまで」20年も経ってるのにまだnew後のNULLチェックが大量にある。Cpp2013/06/17コメントについて既存のコードで、コメントが多くていかにも複雑なのを読むとき、ふと思いついてコメントを全部削除、詰めてインデント整えてみると意外と読めるようになった経験がある。ソースコードのコメントは必要なところにだけあると役に立つ。一行ずつコメントがあるのは論外だけど、ちょっと読めば分かるようなところにコメントが書かれているのもダメだよね。実感として、単にコメントが多いってだけで読むのがうんざりするコードになるし、逆にコメントが無くて複雑で何をやってるのか分かんないコードも読むのがうんざりする。「コメントを読めば読解に役に立つって部分にしかコメントを付けちゃいけない」んだと思う(この感覚が難しんだけど)。ついでに言うとプログラムの仕様についてコードの中にコメントで書くのもダメだと思う。コードの読解には関係ないし、それは他のテキストか、メソッドの説明に書くべきだよね。書いていいコメントは、フィールドの説明とかメソッドの説明(JavaDocになるやつ)と、すっごい変なコードで何をやったのか分かんないだろうなと思う部分だけ。「このループは文字列の”¥”を取り除きたいだけです」とか書くと、その珍妙なループは読み飛ばしてokだ、と分かるようになるし(あるいはリファクタリングされる)、「配列x、y、zはフーリエ変換して部分標準偏差から平均熱量分布を...」とか書くとその部分は読み飛ばされるか、そのソースコードは閉じられて二度と開かれないかな。何が言いたいかというと、変なコードを書かない限り、コメントは不要だということ。コードを書いてて、コメントを書こう、と思ったなら、今書いたコードか、これから書くコメントか、どちらかが変なんだよ。コードが変だ(あるいは数学的で難しい)、と分かってる時だけ(そして様々な理由でそのコードを改善することが出来ないときだけ)コメントを書こう。Constructorってコピーコンストラクタなんて一度も書いたことないけど、それで困ったことも一度もないよ。要らないんじゃない?コピーコンストラクタについて書かれたページの説明で多いのは、関数にオブジェクトを値渡しすると、オブジェクトのメンバーにポインタがあった場合deleteが2回呼ばれて落ちるっていう例。//...そこでコピーコンストラクタを定義して解決って流れだけど、その前にJavaから入ったオブジェクト脳のプログラマは『関数にオブジェクトを値渡し』って時点でアウトと思うはず。そこは参照渡し(かポインタ渡し)でないと。一つ、代入演算子を自分で定義することについて。「=」を自分で定義するなんて馬鹿らしいと思って考えもしなかった。スタック領域に生成したオブジェクトを代入演算子で上書きするとやはりdeleteがダブって落ちるらしい。これはJava脳的にはうまいことやってくれんじゃないかと思って書いてしまいそうな気がした。//←これはやっちゃいそう最近の流儀ではコピーコンストラクタと代入演算子をPrivateに空っぽで宣言してしまうとコピーも代入も出来なくなるから安全とか、そのように定義したNoncopyableというクラスを作って継承すると良いとかあるらしいが、つまり言語仕様の欠陥ってことだよね。無い!C++でJavaの"instanceof"を行う方法。instanceof<Foo>(bar)で行けるようだ。ポインタでなく直接の値を渡して判定する。↓のようにするとポインタ渡しで判定できる。instanceof<Foo>(barPtr)になる。どっちが良いのか分からんがJavaと同じ感覚で使えるのは後者か?このinstanceofはざっくり言ってキャスト出来るか出来ないかを返して欲しい機能。具体的にはアニマルクラスとその派生のキャットクラス、ドッグクラスがある場合、アニマルとして渡されたポインターが、ほんとはキャットなのかドッグなのか判断したいときに使える。exceptionだか)になってしまったのでエラーハンドリングしようと思った。finiteも定義されていないと言われる。どんなに調べてもC++にはmath.hにisinf、finiteがあるの一点張り。いう関数を使うと良いらしい。Cpp2013/06/02メガネは弱めが良いか一日中パソコンを見てるのでパソコン用に近距離メガネを作っている。これは視力低下予防と眼精疲労予防のためで、視力低下予防はともかく眼精疲労予防には絶大な効果を実感している。中途半端に0.8くらいの眼鏡を作ったこともあるけど会議でプロジェクターの画面見るときとか遠くの看板見るときとかストレスになるよね...。今持ってるメガネは左右とも1.0以上の完全矯正の眼鏡と1mくらいでぼやけ始めるような弱い眼鏡の2種類、これをかけ変えながら仕事をしている。すると「もう老眼かよ」なんて言われることもあるが別に完全矯正メガネでも普通にPC見れるって。完全矯正のメガネで8時間もの間、1mも離れてないディスプレイを凝視するなんてやっぱ不自然な状態だと思うんだ。近視がなぜ起こるか、について目が成長することで網膜が後ろにずれてピントが合わなくなった近くを見続けてそれに適応したの2つとある。(でも近くを見続けてそれに適応できるのは主に成長期ではないかと思う)(成長期に近くを見続けてしまったから網膜が後ろにずれたと思う(1と2は関係があるんじゃないか?))(だいたい成長すると遠くが見えなくなるなんて生き物としておかしい。野生動物でもそんなこと起こるのか?)(遠くしか見ないマサイ族?は目がすごく良いというのをTVで見たし)(大人になってから近くを見続けても、ちょっとは適応するかもしれないが多くは単に「目が痛ぇ~」状態になるだけだと思う)。成長による視力低下は遺伝なのでまぁ仕方ない。近くを見続けてなるのは近くを見ないようにすればよい。パソコンを遠ざけるわけにもいかない。そこで遠くを見るのと同じ状態、脱力した状態で近距離にピントが合うメガネを作ったというわけ。眼鏡を外すだけだとピントが近く過ぎるし片方は乱視が強いので弱めの眼鏡が必要だった。簡単な話だと思うが、「なぜ目が悪くなるか、またその予防方法は」という話題に対して人それぞれに立場とか持論があり、それを否定すると異様に熱くなるのだ(レーシック業界とレーシック以外の眼科医業界とメガネ屋業界かな)。この件について何が起きているのかよく分かんないが、近視や近距離用メガネに関して調べる際はよーく気を付けよう。メガネ屋も眼科医も儲けのために自分の目を悪くしようとしてる、という陰謀論に取りつかれないように。(特に2chの眼鏡板とWikipediaの近視の項目は何かおかしいよw)(近視の項目について追記:視力検査は暗い部屋で)そういえば自分が子供の頃、目が悪くなり始めたときは、仮性近視と言われて強制的に瞳孔を開く目薬を処方された。あれで近視が防げる人って本当に居るのか?ちなみに裸眼視力2.0の人は老眼鏡かけてパソコン作業すると良いと思うんだけどそういう人は居ないのかな?ブルーライトカットとかよりよっぽど効果あると思うけど。強い近視の人にPC用の近距離メガネを作ってみては?と進言してもなんか「いやぁそれは・・」って言われちゃうんだよなぁ。レーシックについてはメガネ以上に荒れてるようだ。事故ると取り返し付かないし、お金も掛かってるんだろう...。個人的には他に目に問題が無いなら十分にお金かけて良い設備で施術すればだいじょぶだと思うんだけど(プロスポーツ選手もやってるようだし)。レーシック後に別の問題が起きた時(白内障とか)のこと考えると慎重になるかな。完全に矯正しない弱めのメガネだと視力が悪くなるという説もある。ぼやけた状態が続くと目がもっと悪くなるそうだ。いうことはメガネが無かった時代は加速度的に目が悪くなるってことになるんじゃないかな?ちゃんとしたメガネを作れるようになった現代は近視が少なくなりそうだが、傾向として近視の人は増えてるんじゃなかったかな?ちょっとこれは疑わしい説だ。近距離用メガネを作るのに多少抵抗があるのは、メガネ屋(あるいは眼科)で近距離に合わせたメガネが欲しいというのを説明するのが面倒そう、というのがあるかもしれない。確認も時間かかるし、「やっぱり右をも少し弱めで」なんて調整も必要になりそうだし。それは確かに事実だけど、それでも作る価値はあると思うよ。