問題タブ [cautoptr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
572 参照

c++ - CAutoPtr クラスは参照カウントを実装していますか?

最新の ATL/MFC アプリケーションは、CAutoPtr と呼ばれる新しい共有ポインター クラスと、関連するコンテナー (CAutoPtrArray、CAutoPtrList など) にアクセスできるようになりました。

CAutoPtr クラスは参照カウントを実装していますか?

0 投票する
3 に答える
1887 参照

shared-ptr - ATL CAutoPtr と STL std::auto_ptr の違いは?

MFC でコードを書いていて、自動ポインターを使用したいと考えています。同じことをしているように見える 2 つの異なるクラスに出くわしました:CAutoPtrおよびstd::auto_ptr2 つの異なる実装について人々の考えは?

さらに、私はあることを知っていますstd::tr1::shared_ptrshared_ptrATL/MFC に似たものはありますか?

0 投票する
1 に答える
842 参照

c++-cli - C ++/CLI混合モードのAutoPtr

ネイティブの.libファイルと.hファイルの周りにC++/CLIラッパーがあります。ラッパークラスでAutoPtrクラスをかなり広範囲に使用して、ラッピング用に作成したアンマネージオブジェクトを管理します。コピーコンストラクター/代入演算子で障害にぶつかりました。

Kerr氏のAutoPtrクラスを使用する:http ://weblogs.asp.net/kennykerr/archive/2007/03/26/AutoPtr.aspx

彼は、代入演算子の動作を再現するために、(コメントで)次のことを提案しています。

私はそれが真実だと信じています。しかし、コードをコンパイルすると、次のようになります。

-次のエラーが発生します。

エラーC2662:'WrapTest :: AutoPtr :: GetPointer':この'ポインタを' const WrapTest::AutoPtr'から'WrapTest:: AutoPtr%'に変換できません

誰かが同様の問題を経験しましたか?


回答の背景をさらに詳しく説明するために、署名から「const」キーワードを削除しました。コピーコンストラクターのコードの正確さに関しては微笑んでいないことは知っていますが、CLRはそれをまったく好きではありません。つまり、メモリ管理の核となるCLRを信じています。

署名にconstを残してから、GCHandleまたはpin_ptrを使用して、コピーの実行中にメモリが移動しないようにすることは可能でしょうか。

0 投票する
4 に答える
14378 参照

c++ - 使用可能なコピー コンストラクターがないか、コピー コンストラクターが「明示的」と宣言されています

ここでコンパイルエラーが発生する理由を誰かが説明してください-エラーC2558:クラス 'std::auto_ptr<_Ty>':コピーコンストラクターが使用できないか、コピーコンストラクターが「明示的」と宣言されています