smart-pointers

    0

    1答えて

    ユニークなポインタの動作を理解できません。私はそうのように私のGameStateスタックにそれを std::unique_ptr<GameState> mMenuPtr(new MainMenu); 、その後push() ...ヒープ上のオブジェクトを割り当て、move()場合... gameStates.push(std::move(mMenuPtr)); //pointer loses own

    3

    4答えて

    次の例を参照してください。aへの一意のポインタと生ポインタを使用しましたが、なぜ生ポインタは機能するのですか? unique_ptrまたはshared_ptrを使用して文字列aを参照のように変更するにはどうすればよいですか? プログラム例: #include <iostream> #include <string> #include <memory> int main() {

    2

    2答えて

    ここからは、一意のポインタを参照するときにポップアップする質問のほとんどを読んで分かりましたが、これはBuilderパターンで記述された動作を提供する必要があるようです。 ビルド中のオブジェクトを所有するためにビルド中のオブジェクトを変更する手続きを実装していないため、ビルダーのインスタンス(またはそのサブクラス)が必要なのは、Closeが呼び出し側に一意のポインタを返すまでです呼び出し側が所有権

    2

    1答えて

    Oppen's algorithmをC++で実装しようとしています。 このアルゴリズム(印刷とスキャン)の基本ルーチンは、トークンタイプでディスパッチします。 訪問者パターンを使用してこのディスパッチを実装するのは当然のようです。 問題は、ルーチンがネストされており、print()の引数がscan()中にスタックにエンキューされることです。 メモリの問題を避けるために、私はタスクのためのスマートポ

    -1

    1答えて

    shared_ptrで使用される書かれたコードをshared_ptrというコードが不要で、スマートポインタを使った演習になるので、unique_ptrに変換しようとしています。私がデバッガで検出できる限り、問題はv.at(i)->push_back(t);にあります。したがって、値が入力されるとすぐに、プログラムがクラッシュします。 shared_ptrでの作業コード: #include <ios

    0

    1答えて

    shared_ptrクラスは動的オブジェクトを自動的に管理することを理解します。 ここでは、const shared_ptr<int>をint 2に返す関数fがあります。 mainの2つのバージョンが1か所で異なります。バージョンAは、の戻り値をにに保存し、バージョンBはにを保存します。 using namespace std; const std::shared_ptr<int> f(

    1

    1答えて

    私は最近、CatchとFakeitを使用してコードの単体テストを開始しました。 私はWinAPIs HWNDの周りにラッパークラスを持っています。 class Window { public: Window(HWND hwnd); virtual void resize(int width, int height); ... private: HWND

    9

    5答えて

    CのC++ライブラリにいくつかのAPIをラップする必要があります。私はこれまで、クラスオブジェクト、extern "C"などの不透明ポインタを使用して、hereと記述しました。しかし、私が扱っているこの新しいライブラリは、リファレンスカウントのスマートポインタを広範に使用しています。私はスマートポインタの存在下でラッピングを行う方法がわかりません。 SmartPointer<MyClass> fo

    1

    1答えて

    ここに質問を投稿するのは初めてです!私は、単一リンクリストのコピーコンストラクタを作成する際にいくつかの問題を抱えていました。私は、これと他のさまざまなサイトで比較可能な例を探し求めています。私はスマートポインタを使用しようとしていましたが、これまではunique_ptr(s)しか使用していませんでした。この関数は、渡されているリンクリストの詳細コピーを作成するためのものです。私はこれまでのところ