最終更新: 2009-09-04T06:13+0900
5日遅れて衝動買いした Excellioに遅れること 3日、Majestouch(黒軸=Linear) が到着。
20090830p01で書いたように、Excellioを USB->PS/2変換コネクタ経由で繋いでみてから M/Bがおかしくなって PS/2ポート(マウス用=緑色)に繋いだトラックボールが使えなくなっていた。そしてこのキーボードも……。ところが、BIOSセットアップでのことをふまえてマウスとキーボードを入れ替えて繋いでみたら、どちらも使えた。色の組み合わせが違っていて気持ち悪いけど、それだけなので使えて幸い。問題が起こったついでだからと BIOSをアップデートしてたんだけど、それでは解決しなかった。
出尽くしていて目新しい感想もないので箇条書きで
Excellioと甲乙付けがたいけど、コストパフォーマンスは Excellioの方が 3倍良い。パンタグラフに違和感がなければ、箱つぶれ Excellioおすすめ。
資料 > スイッチ・キートップガイド構造
最終更新: 2010-06-22T11:46+0900
初歩の初歩ですよ。
vector<int> v(99); for(int i = 0; i != (int)v.size(); ++i) { }
みたいなのがあって(俺が書いたんじゃないよ)、ひょっとしたらキャストがなくても問題ないのかもしれないし、それがないと警告(符号付きと符号なしの比較がうんたらかんたら)が出るのかもしれないけど、(int)って書きたくないよね。static_cast<int>()にしろっていう問題でもなくて。iの型を unsignedにするのも若干のアドホック感がある(なんのための typedef)。かといって v.size()の戻り値の型(vector<int>::size_type?)をコピってくるのも嫌だね。たとえば(そんなキーワードはないけど) varを使って
vector<int> v(99); for(var end = v.size(), i = 0; i != end; ++i) { }
みたいに書きたいし、コンテナの型を何度も書く代わりにそこにある、型付けされた変数を使ってこう書きたい
list<int> l(99); for(type(l)::iterator it = l.begin(); it != l.end(); ++it) { }
C++のことだし方法はあるはずだけど……。(typedef list<int> hoge; はコンテナの型(hoge)を見つけてこないといけないのは同じだし、俺俺タイプをいちいち命名したくもないし)
■_ をち
2chにはせいぜいautoマンセーと0b論争がお似合い
type(l)::iterator
の方も……N2971: Core issue 743: decltype(...) name qualifiers delctypeをnested-name-specifierで使えるようにする変更。簡単に言うと、delctype(T)::typeということができるようになる。 これは、日本から送った意見だ。だからどうということはないのだが。何を隠そう、信仰と勇気で有名なあの人が発見した問題だったはずだ。
「信仰と勇気で有名なあの人」って、すぐ上で auto
に関してリンクしたとこの中の人でしょう。decltypeが、varに対する autoのように自分の希望をかなえてくれる本物のキーワードだってことは C++0xに関する記述を断片的に目にするにつれ知っていたけど、最初から名前を修飾する目的に使用できたわけではないとは知らなかった。行動を起こした人がいるのだ。これはもう足を向けて寝られない。