テーマ:C++

64ビットプログラミングについて注意メモ書き

64ビットプログラミングについて注意メモ書き C言語やC++において,int は  通常8ビットCPU(OS)なら,1バイト。  16ビットCPU(OS)なら,2バイト。  32ビットCPU(OS)なら,4バイト longは,8ビットCPU(OS),16ビットCPU(OS),32ビットCPU(OS)いずれも 4バイトだ。…
トラックバック:0
コメント:0

続きを読むread more

C++のキャスト(型変換)

・暗黙の型変換 ・明示の型変換 の2つがある reinterpret_cast  互換性が全くない型への変換  ビットパターンでの変換  よく切れるナイフの様。上手く使えばすばらしい性能を発揮するが,間違った使い方をすれば,大怪我をする。  取り扱いに注意。  バイナリデータファイルを受信や読み出して,適切な型に代入…
トラックバック:0
コメント:3

続きを読むread more

C++ fstreamの使い方

C++でファイル入力出力には,fstreamを使う。 ifstreamクラスでファイルから入力 ofstreamクラスでファイルへ出力する 私が実際にifstreamやofstreamを使うときのコードを紹介します。 ----------------------------------- // ファイルから読み出したも…
トラックバック:0
コメント:3

続きを読むread more

C++ STLメモ6 iterator補足

STLでは,コンテナ(配列など複数のデータを格納できる構造のこと)内の各要素のデータへアクセスするためにiterator(イテレーター)というものを使ってる。 しかし,iteratorと一言に言っても様々な種類がある。 iteratorはiteratorでも,同じもの,似ているもの,全然違うものなどだ。 しかも,ite…
トラックバック:0
コメント:0

続きを読むread more

C++ STLメモ5 string活用

STLではないが,C++には文字列を扱うクラスstringがある。 これは,今までのC言語やC++で扱ってきた文字列 char型配列と互換性をもちつつも,圧倒的に簡単に使えるようになる。 そのうちで,私が良く使う文字列処理を紹介します。 基本: #include <string> と using na…
トラックバック:0
コメント:0

続きを読むread more

C++ STLメモ4 ソート

STLには,当然の様にソート機能があります。ソートは,データの並べ替えで,小さいものから大きいものへ順番を変えたり,大きいものから小さいものへ順番を変える作業です。abc順やあいうえお順に並び替えるのも含みます。 前提知識: C++ STLメモ1(STL全般について) :  http://sato-si.at.webry.in…
トラックバック:0
コメント:0

続きを読むread more

コードの例:CreateCompatibleDC と CreateCompatibleBitmap

ゲームやプレゼンテーション,デモ画面などの アニメーションを行う画面にて,描画中の表示を 一切見せないようにして,描画が全部完了してから 画面を更新する技術として,「ダブルバッファ」(裏画面)の 技術がある。 Windowsでは,最近ではほとんどDirectXを使っているが, わざわざDirectXを使うまでもない,単純…
トラックバック:0
コメント:0

続きを読むread more

C++ STLメモ3

listとmapについて まぁ,この2つは用途が全然違うのだが,一緒に解説。 #include <list> C++ STLメモ2に解説したdequeとvectorナのですが, dequeにあって,vectorにない機能が1つあります。 insertという機能です。これは要素の途中にデータを 挿入…
トラックバック:0
コメント:0

続きを読むread more

C++ STLメモ2

vector と dequeの違いは・・・。 どちらも可変長配列です。ほとんど用途が同じです。 違いを簡単に言うとvectorのメモリ管理機能を高性能にしたものがdequeです。 #include <iostream> #include <vector> #include <deque&g…
トラックバック:0
コメント:1

続きを読むread more

C++のプログラムをソースリストのまま実行(インタプリタ)する方法

C++のプログラムを実行するには,通常,コンパイル&リンクをしなければならない。 しかし,世の中には,C++をソースリストのまま実行するソフトを作っている人たちがいる。 CINTというものだ。 http://root.cern.ch/root/Cint.html これは,C言語やC++で書かれたプログラムをインタプリ…
トラックバック:0
コメント:0

続きを読むread more

C++のソースリストファイル内にリンク時のライブラリファイルの追加指定

ライブラリの自動リンク指示の方法。 C言語/C++のプログラムの中にライブラリとリンクさせたい場合は以下の様な コードを使うと良い。ここでは「ライブラリ.lib」というライブラリファイルを リンクする場合のコード。 BoralndC++とVisual C++で可能みたい。他のやり方はしらない(^^; // Borlan…
トラックバック:0
コメント:0

続きを読むread more

WinMainのコマンドライン引数から mainに引数を変換するコード

C言語のでのWindowsプログラミングでは,コマンドライン引数が空白で配列要素に区切られていない べたな文字列で渡されている。 そのため,いちいち コマンドライン引数の文字を解析しないといけない。 strtok関数を使って空白で区切ってやることも出来るが,"" で囲まれている場合は,空白をトークン(区切り文字)として認識してはいけ…
トラックバック:0
コメント:1

続きを読むread more

JPEGライブラリのコンパイル手順

C言語のプログラムでJPEGファイルを扱いたい場合,いろいろ方法があるんだけど, 気軽につかえるのが Independent JPEG Group のライブラリを使う方法だろう。 ホームページは: http://www.ijg.org/ ただし,このライブラリを使うには・・・ ------------- README …
トラックバック:0
コメント:0

続きを読むread more

ImageListで半透明アイコンを使うには(Winプログラミング)

WindowsXPでは,半透明アイコンがたくさん使われていて, これを自分のプログラムで利用して表示しようとすると, 半透明の部分(たとえば影)が黒色になってしまい,汚くなる(涙 アイコンなどは,Windowsでは,ImageListを使って管理する。 このImageListは何も考えずに使うと ImageList_C…
トラックバック:0
コメント:0

続きを読むread more

C++ STLメモ1

C++には,STL(スタンダードテンプレートライブラリ)があるので,C言語だと苦労するデータ構造の管理を行わなくて済むため,メインのコーディングに注力できる。 具体的には,可変長配列,双方向連結リスト,連想配列などだ。 可変長配列 : vector と deque 文字列(可変長配列のひとつ) : string 双方向連…
トラックバック:0
コメント:0

続きを読むread more

VC++ 6.0 MFCウイザードでできるダイヤログをモーダルからモードレスにするには

Visual C++ 6.0 の MFCでウイザードダイヤログを作成すると 無条件でモーダルダイヤログになる。モードレスを使いたい場合は, 以下の方法でモードレスに変更することができる。 ダイヤログのクラス名:CPrintPage で作成した場合,PrintPage.hとPrintPage.cppが 作成されます。そのな…
トラックバック:1
コメント:2

続きを読むread more

C++ operator++()演算子について

C++には演算子のオーバーロードというものがある。 演算子とは + - * / = 等の変数や定数間で 計算等を行わせるために使う記号のこと で,この演算子のオーバーロードとは,その + - * / = 等に…
トラックバック:0
コメント:1

続きを読むread more

iostreamの継承方法(C++技術メモ)3

basic_streambuf のクラスの継承の仕方 iostreamの継承方法(C++技術メモ)2:http://sato-si.at.webry.info/200502/article_6.html のつづき さて,ここからが,本番である。 実際のストリームのプログラムの実装部分だ。 basic_stream…
トラックバック:0
コメント:0

続きを読むread more

iostreamの継承方法(C++技術メモ)2

basic_streambuf のクラスの使い方 iostreamの継承方法(C++技術メモ)1:http://sato-si.at.webry.info/200502/article_5.html のつづき さて,basic_streambuf の使い方だが,継承をすることで使用できる。 しかし,このひと,入力出力兼用バ…
トラックバック:1
コメント:0

続きを読むread more

iostreamの継承方法(C++技術メモ)1

C++ 超 技術メモ iostreamは,入出力のストリームです。 これを継承しているものでは,ファイル入出力のfstreamや 文字列用の istrstream等があります。 しかし,C++には,今となっては,標準であってもおかしくない, TCP/IP用のネットワークストリームがありません。 C言語やC++プロ…
トラックバック:1
コメント:0

続きを読むread more