C++

コンソールでCtrl+Cを押すとcinが失敗状態になる話

C++

iostream使い慣れてないんです。 #include <iostream> using namespace std; void main() { for(;;){ int a, b; cin >> a; cin >> b; ... } } こんな感じのやっつけプログラム。SetConsoleCtrlHandlerを使って、Ctrl+Cが押されたらこのループの頭に戻る。 で、稀にこの</iostream>…

VC10のmake_shared読んだら気分が悪くなった件

C++

えそらんカレンダーに使ってもよかったんだけど単発で。 unique_ptrにもmake_sharedみたいなのがほしいなーと思いました。 id:iorate:20101231:1293806776に、「Variadic Templatesがあれば簡単だよ!」と書かれていました。が、VC10ではまだ使えないようで…

IntelliSenseのデータベースをRAMディスクに移動してみた

C++

ええVisualStudio愛用してますとも。 さて、コード補完等をしてくれるIntelliSenseですが、C++の場合はソースを解析したものをキャッシュすることで高速化を図っています。具体的に言うと.ncb(2008以前)とか.sdfとかipch(2010)とかそんな名前のファイル・フ…

C++のconstと格闘中

C++

ちょっとC++を使う機会があったのでどうせならと色々試しています。 今回初めて触ったのはshared_ptrとconst。 shared_ptrはvectorに突っ込むときにコピーコンストラクタ呼びたくないなーというだけの理由なんですが、他に思いつかなかったのでこれで。いろ…

DxLibを微妙に軽量化できるようにした。微妙すぎる。

C++

手軽にDirectXを使えるライブラリとして有名なDxLibですが、えらく機能豊富です。 ところがでかい。リリースビルドで1MB超えるとうわぁ・・・ってなるのは私だけですか。 さて、DxLib.hを読むとマクロ定義でリンクするライブラリが変わるようです。 「これで…

CDドライブ?ああ通知に使うよね。

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

ビルド高速化してみた

C++

数日前から作っていたミニゲームを公開。ソースもあるよ! http://d.hatena.ne.jp/kyubuns/20110321/1300708060 というわけでソースに飛びついてきました。DirectXのコードは書いたことないのでちょっとわくわくします。しました。 だいぶ読みやすいコードだ…