2012-03-01から1ヶ月間の記事一覧

constexpr 関数内ではローカルクラスが定義出来ない

C++

実は勘違いしていた C++11 の仕様シリーズ。 タイトル通りなんですが、constexpr関数内ではローカルクラスを定義することは出来ません。 constexpr int func(){ // clang3.1 error: types cannot be defined in a constexpr function class X{}; return 10; …

Vim のコマンドで Vim script の式を使う

vim

Vim のコマンドに Vim script の式を渡す場合、いつも execute "edit ".tempname() のように :execute コマンドを使用していたんですが、『:{コマンド} `={式}`』 で式を渡すことが出来たんですね。 上記の Vim script の場合はこんな感じになります。 edit …

Visual Studio 2010 SP1 で再現したバグを Visual Studio 11 Beta で試してみた

Visual Studio 2010 SP1 で再現したバグを Visual Studio 11 Beta でも試してみました。 差し当たって既存のバグが思い浮かばなかったので適当にぐぐって見つけたものを試してみました。 下記のサイトに記述されていたバグコードを試してみましたが全て問題…

caw.vim で現在の行をコピーしてコメントアウト

vim

ちょっとだけコード変更して試したい場合によく『現在の行をコピーしてからコメントアウトする』といった事をするんですが、この挙動をマッピングしました。 コメントアウトには caw.vim を使用します。 [マッピング] nmap gcy yypgcIk vmap gcy ygvgcIP [ex…

Windows 8 Consumer Preview に Visual Studio 11 Beta をインストールした

Windows 8 も手に入れたので早速 Visual Studio 11 Beta をインストールしてみました。 詳しいインストール方法は下記のサイトが参考になります。 VisualStudio11Betaのインストールキャプチャ - 遥佐保の技術メモ ちなみに途中でフリーズを繰り返して3回も…

VMware Player に Windows 8 Consumer Preview をインストールした

Visual Studio 11 Beta が WindowsXP 使えないという悲しい現実だったので、『どうせ Windows 8 も公開されているなら……』ということで重い腰を上げて VMware Player に Windows 8 Consumer Preview をインストールしてみました。 インストール手順とかは下…

C++11 で has_method を書いてみた

C++

C++03 だと Boost.TTI とかがあるんですが、C++11 でも書いてみました。 テンプレート引数で decltype(&T::method) を使用するとオーバーロード等で複数の名前の関数がある場合に特定に失敗するので今回は decltype で直接関数呼び出しを行って SFINAE して…

Visual Studio 11 Beta が公開

C++

Visual Studio 11 Beta が公開されました。 下記のサイトからダウンロードすることが出来ます。 http://www.microsoft.com/visualstudio/11/ja-jp/downloads 実装されている C++11 の機能とかはこちらを参照。 What's New in Visual Studio 11 Beta for C++ …