CTypedPtrArrayの使い方 – プログラミング – Home

通知
すべてクリア

[解決済] CTypedPtrArrayの使い方


ナオーバ
 ナオーバ
(@ナオーバ)
ゲスト
結合: 23年前
投稿: 187
Topic starter  

構造体 ELEMENT_STRUCT を定義して、
 typedef CTypedPtrArray<CPtrArray, ELEMENT_STRUCT*> CElemntArray1;
 typedef CTypedPtrArray<CObArray, ELEMENT_STRUCT*> CElemntArray2;
をしてもエラーはでません。

CObjectの派生ではない任意のオブジェクトの場合は
CPtrArray、CObArrayのどっちを指定すべきなのでしょうか?

今まではCObjectの派生オブジェクトを作成して CObArray を指定していました。
今回は構造体ですみそうなので、このような場合はCPtrArrayになるのでしょうか?

MSDNをよんでもよくわかりませんでした。

WIN2000 SP2/VC6.0 SP5/MFC使用


引用未解決
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

以前こんなのがありました。
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200204/02040086.txt

CObArrayは、CObject*の配列の代わりとなるものです。
これに、CObjectの派生クラス以外のポインタを入れておくと言うのは、

ELEMENT_STRUCT elem;
CObject* pObjArray[10];
pObjArray[0] = (CObject*)&elem;

ELEMENT_STRUCT* pElem = (ELEMENT_STRUCT*)pObjArray[3];

のようなコードを書いているのと同じ事です。
コンパイルは通りますけど、行儀の良いコードとは言えないでしょう。


返信引用
ナオーバ
 ナオーバ
(@ナオーバ)
ゲスト
結合: 23年前
投稿: 187
Topic starter  

すみません、上記のページも見たのですがよくわかりませんでした

CTypedPtrArrayの使い方として
 CObjectの派生オブジェクト -->CObArray
 非CObjectの派生オブジェクト-->CPtrArray
 CPtrArrayの場合はシリアライズが使えない

ッてことになるんでしょうか?

よろしくお願いします。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

> ッてことになるんでしょうか?

そうなります。


返信引用
ナオーバ
 ナオーバ
(@ナオーバ)
ゲスト
結合: 23年前
投稿: 187
Topic starter  

ありがとうございます。

ここが曖昧だったので自信を持って使用できます。

ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました