タグ

C++に関するmntoneのブックマーク (33)

  • C++0x基礎文法最速マスター - Faith and Brave - C++で遊ぼう

    C++0xになると、C++03でごちゃごちゃした部分がだいぶ すっきり書けるようになるので、C++0xでの入門はこんな感じになるよー、 という気持ちで書きました。 1. Hello World C++0xでの入出力には、IOStreamというものを使用します。 <<演算子でどんどんつないでいきます。 以下のプログラムの読み方は 「標準出力(cout)に"Hello World"という文字列と、改行(endl)を出力する」 です。 #include <iostream> int main() { std::cout << "Hello World" << std::endl; return 0; } Hello World coutとendlを使用するには、 #include <iostream> のように、という標準ライブラリのファイルを読み込む必要があります。 2. コメント 行コメント

    C++0x基礎文法最速マスター - Faith and Brave - C++で遊ぼう
    mntone
    mntone 2012/08/04
  • 標準出力に書き込む | 株式会社きじねこ

    「標準出力」というのは、慣用的な出力を行うためのテキストストリームの結合先のことで、多くの場合、画面への表示になっています。画面といっても、Windows などで見慣れたウィンドウとかではなく、コマンドライン(Windows でいえばコマンドプロンプト)です。 しかし、プログラムの呼び出し方しだいで、標準出力は、画面への表示ではなく、ファイルや他のプログラムが操作するストリームに結合することもできます。例えば、CGI では標準出力への書き込みはブラウザへのレスポンスとなります。また別の状況では標準出力の結合先がシリアルポートになることもあるでしょう。 std::cout 標準出力に書き込むための最も一般的な方法は、std::cout を使用することです。std::cout に対して << 演算子を用いることで、

    mntone
    mntone 2012/06/15
  • http://www.interq.or.jp/jazz/iijima/stl/contents/copy_exam.html

    STLアルゴリズム練習帳 by iijima ■要素のコピー copy, copy_backward 【例題1】前進反復処理によるコピー 【例題2】後退反復処理によるコピー 【例題1】前進反復処理によるコピー copy関数のプロトタイプ: OutputIterator copy( InputIterator srcBeg, InputIterator srcEnd, OutputIterator destBeg ); コピー元コレクションの[srcBeg, srcEnd)の範囲の要素を,コピー先のdestBeg以降にコピーする. コピー先コレクションはコピー元コレクションと同じでも良いが, コピー元とコピー先の範囲が重なる場合,前進反復処理によりコピーすることに注意. copy関数は,コピー先の範囲の直後の位置を指す反復子を返す. すでに,List 1 のように,シーケンスの要素を出力スト

    mntone
    mntone 2012/06/11
  • 2010-03-20 - ゲームとかプログラムとかパソコンとか

  • プログラミング :: 高速なプログラムを書く為に :: 初めに

    注意 この文章は自分で色々調べながら生半可の理解で書いた物であり、 信用出来ない部分が沢山あります。 何やら、変な宗教を流行らせるなという注意を受けてしまいました → の虫: いまだに変な宗教が流行っている。 (しかし、内部向けに書いた物を、よく見てくれる人がいる物だ。 御免なさい…詳しい人は見ないと思って、調子に乗って、適当な事を偉そうに書いちゃってますが…。) とはいえど、勉強になるのでありがたいです。 何か間違っている事があったら、直接連絡もして頂けると尚嬉しいです。 (或いは、コメント欄とかを用意した方が良いのかなあ。) 後、受けたコメントについて調べたりした内容も載せておく事にします → 初めに (コメントに対し)。 GPGPU について書こうと思ったのですが、それよりも先に、 高速なプログラムを書くに当たって注意するべき一般的な事を述べておいた方が良い様に思ったので、 「高速

    mntone
    mntone 2011/12/12
  • Aero Glass

    すりガラス効果がついたウィンドウ Vistaっぽいウィンドウにしているこの「すりガラス」とか「半透明」の効果、 実は2種類あった。 クライアント領域(アプリケーションウィンドウ内)での描写技術としてのWPFと ウィンドウ同士の合成技術としてのWin32は別々のもの つまり、↓こんなのはWPFの半透明で 円が透けて、下に赤い四角とボタンが見える メディアプレイヤーの↓こんなやつはWin32のDWM(Desktop Window Manager) WPF単体でも、ウィンドウのStyleをnoneにしてAllowTransparentをtureにすればウィンドウの下まで見える、半透明ウィンドウができるけど、DWMを使うとそのマシンに設定された枠で半透明になるのがちょっと違う。 で、最初のやつを背景(Window.Background を No brush)にして、DWMで半透明にすると、 ↓こん

  • ゲームプログラムのメモ書き

    今回はXファイルの読み込みから描画までをザラッと行きます。 途中ライトの設定なんかも出てきますが、今は気にせず・・・。後々解説しようと思います。 //---------------------------------------------------------------------------// //メッシュ構造体 //---------------------------------------------------------------------------// struct THING { LPD3DXMESH pMesh; //メッシュオブジェクト D3DMATERIAL9 *pMeshMaterials; //マテリアルオブジェクト LPDIRECT3DTEXTURE9 *pMeshTextures; //テクスチャ DWORD dwNumMaterials; //

  • デバイスの列挙

  • マクロをもっと活用せよ (1) « New White 4.90

    C言語には「マクロ」と言うものがあります。 多くの人は定数宣言くらいにしか使っていないかと思います。 人によっては、const宣言で定数を定義しているかも知れません。 C時代では、非常に簡素な関数を定義する際、パフォーマンスを上げるためにマクロが使用されました。 ・・・が、C++ではそれもinline関数として置き換えられていたりします。 (しまいには、/が使えるような新しいCコンパイラでは、C言語なのにinlineが使えたりもするみたいです) 型名のリネームでさえ、typedefと言う更に便利がものがあります。 ・・・所詮、マクロなんてものは、古き時代の名残の産物でしかないのでしょうか・・・? いいえ、そんな事はありません。 マクロにしか出来ない事はまだまだ沢山あります。 例えばよく使われるマクロとして、次のようなものがあります。 #define SAFE_RELEASE(p)

    mntone
    mntone 2011/10/04
  • ウインドウの作成

    ウインドウクラスを登録したら、それを基にウインドウを作成できます。 ウインドウを作成するには、CreateWindowExを呼び出します。 HWND CreateWindowEx( DWORD dwExStyle, LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam ); dwExStyleは、拡張ウインドウスタイルを指定します。 ウインドウスタイルとは、ウインドウの概観に関わる一連の定数のことです。 拡張という言葉はこの場合、より高度な概観(透明なウインドウなど)に 関する定数のことだと考えて問題ないでしょう。 指定で

    mntone
    mntone 2011/10/03
  • GetSystemMetrics.exe

    mntone
    mntone 2011/10/03
    GetSystemMetrics の一覧を出す
  • あまやどり: OAuthで認証してTwitterでつぶやいてみた

    2009年11月23日月曜日 OAuthで認証してTwitterでつぶやいてみた 先日の記事で取り上げたTwiticaを、OAuthでの認証に対応してみました。 JavaとかPerlとかPythonとかRubyとかC#ではサンプルがさくっと見つかったりライブラリがあったりするのですが、C++は見つからず。C++/CLIなら.Net用のものが使えるみたいですが。しかしTwiticaがネイティブC++で書かれているので、そのまま貫き通します。 OAuthの手順 下記の記事は大変参考になりました。ありがとうございます。 『xtra/OAuth1.0』- irevo labs (OAuth仕様書の日語訳) 『twitterでOAuthを使う方法(その1:認証まで)』 - てっく☆ゆきろぐ 『twitterでOAuthを使う方法(その2:前回の続き〜APIにアクセスしてみる)』 - てっ

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    mntone
    mntone 2011/09/01
  • インラインアセンブリ

    mntone
    mntone 2011/09/01
  • メモ/SSE2 - AviUtl オリジナルプラグイン公開サイト @ wiki

    mmintrin.h typedef union __declspec(intrin_type) _CRT_ALIGN(8) __m64 { unsigned __int64 m64_u64; float m64_f32[2]; __int8 m64_i8[8]; __int16 m64_i16[4]; __int32 m64_i32[2]; __int64 m64_i64; unsigned __int8 m64_u8[8]; unsigned __int16 m64_u16[4]; unsigned __int32 m64_u32[2]; } __m64; __m128

    メモ/SSE2 - AviUtl オリジナルプラグイン公開サイト @ wiki
  • MMX de Alpha Blending 2

    ・MMXで半透明(2) : アセンブラ 編 (99/5/18) 前回 C でα合成を試したら平均 8 回/秒 しか計算出来ませんでした。 ならばアセンブラで高速化しよう、という訳で今回は アセンブラを使ってα合成をしてみます。 さてアセンブラで合成の部分を素直に書けば下の様なソースになります。前回の ソースの VOID AlphaBlending() 関数を置き換えて下さい。WinMain() やプロシージャ等の関数は同じ物を使います(したがって今回は それらのソースは載せません)。 やっていること自体は C 版と全く同じなのですがメモリへのアクセスが かなり減りますので C よりは速くなることが予想できます (もっとも最近はキャッシュがあるのであまり変わらないような気もしますが)。 // α合成 アセンブラ版 // // コピー先 = コピー元1 * α + コピー元1 * (1-α)

  • はてなブログ | 無料ブログを作成しよう

    水風呂のすゝめ 毎日めちゃくちゃに暑い。 ここ数年「およげ!たいやきくん」のように昼間は太陽とオフィスビルとアスファルトの三方向から押し寄せる35℃オーバーの熱に挟まれ、夜になっても最低気温が27℃くらいまでしか下がらない。そんな理不尽な東京鍋の中の暮らしが毎年のことにな…

    はてなブログ | 無料ブログを作成しよう
  • 声優の発話の音響特徴量分析及び確率モデルの作成

    Get a free logo with your purchase of SOFKEN.COM We have a 90%+ satisfaction rate from our customers

    声優の発話の音響特徴量分析及び確率モデルの作成
    mntone
    mntone 2011/09/01
  • advanced optimization MMX

    『8 / 16 / 32bitの整数をまとめて処理できる』というのは発表当時の雑誌に散々解説されていたのでみなさんご存知だと思います. #割にはあんまり流行ってないですけど 命令の説明のためにここだけの記号法ですが, 次のルールを使います. 8 / 16 / 32bit整数をB, W, Dで表します. それらを複数並べた場合は左のほうが上位bitとします. (例) [D1:D0]は上位D1下位D0の32bit整数が2つペアになったもの. m??は??bitメモリ, r32は32bit汎用レジスタを表します. 殆どのMMX命令は第1オペランド (dest) にはMMXレジスタのみ指定でき, 第2オペランド (src) にはMMXレジスタ / メモリを指定できます. シフト命令のみ第2オペランドに即値を使えます.

    mntone
    mntone 2011/09/01
  • MMX命令による画像処理

    8.1 はじめに 第8章では、いよいよMMX命令の使って画像処理を高速化する方法について説明したいと思います。 7.6節で述べたように、7.4節で説明したフェードアウトのプログラムと、7.5節で説明したフェードインのプログラムを高速化してみました。 いきなりプログラムの説明をすると大変なので、まずはMMXテクノロジとはどんな技術なのかという事から説明していきます。 既にMMXテクノロジについて理解している方は、8.2~8.5節は読み飛ばして構いません。 8.2 MMXテクノロジとは MMXテクノロジは、画像や音声などのマルチメディア関係の処理を高速化するために生まれた技術です。 加算や減算などの演算を一つずつ行うのではなく、一度に複数の値同士を加算したり減算したりする事で、高速に処理をする事ができます。 この考え方は、Pentium3から搭載されたSSE命令(ストリーミングSIMD拡張命令

    mntone
    mntone 2011/09/01