アットウィキロゴ

Visual C++


STL

Standard Template Library.その名の通り標準のテンプレートライブラリ。
勉強しなきゃな、テンプレート。

boost

Let's boost
次世代の標準ライブラリ

MFC

描画処理

あーーめんどくせぇ!
とりあえずメモだぁ!

動的メモリアロケーション


-動的と静的の違い

動的:プログラムの走行中にそのプログラムで使用するメモリの確保を行うこと
静的:プログラムのコンパイル時にデータ領域の確保を決定すること
例えば
for(int i=0; i<length; i++){
としたときのiのような宣言の仕方では
コンパイル時にどんなサイズのメモリ確保を行うかが決まっている
(ので、実行時に必要なメモリ確保ができる)のに対して
下の例では、new文を実行するまでメモリが確保されないってことかな?

-new, delete演算子(C++)

動的にメモリ領域を確保し、ポインタを用意してくれる。
例:
char *p = new char[100];
とすると、char型(1BYTE)のメモリ領域が100個用意されて
pointerでアクセスできるっていうことみたい。
delete忘れるとメモリリークdeath

ヘッダ

構造体や関数やクラスの宣言
(つまり型の指定)を書くためのもの。書くためだけのもの。
それ以外(関数の実装など)は書かない。書けるけど書かない。そういうもの。

-#pragma once

関数なりクラスなりの宣言、つまりheaderのincludeを2重に行わないためのもの。(重複定義のguarder)
#pragma
はコンパイラによって挙動が違うようだ(だので移植性が下がるようだ)けど
(やだったら#ifndefとかいっぱい書かなきゃいけないので)とりあえず.hには全部つけとくと吉。

-VC++でのヘッダファイルの追加

  • 【ソリューションエクスプローラー】から、
「既存の項目の追加」でヘッダファイルをぶち込んで#include"*.h"とやるとエラーになった。参考ページ
  • 「既存の項目の追加」では、ファイルをコピーして追加したるするわけではないようだ。
  • VC++ディレクトリに、インクルードファイルをおいたディレクトリを追加するだけでも、認識されなかった。
(*.hファイルは開けるんだけんど、定義された構造体の定義をさんしょうできなかた(´・ω・`))
  • [既存の項目の追加][VC++ディレクトリ]両方やるとできた。よーわからんぜよ。


クラス設計

C++クラス設計に関するノートによると
クラスには大別して
  • 値オブジェクト
  • 参照オブジェクト
の2種類があるそうな。
それぞれの例:
値オブジェクト 日付・時間・お金・数量
参照オブジェクト 人・iostream
例えばメンバ変数が同じchar* m_nameであったとしても
Nameクラスだったら値オブジェクト。
Personクラスだったら参照オブジェクト。
それぞれ実装すべき関数や演算子が違うみたい。
まぁなんか応用的な難しい話。
最終更新:2010年05月07日 04:02
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。