delete-operator

    0

    4答えて

    私はクラスDeckとPlayingCardを持っています。デッキオブジェクトは、オブジェクトをトランプへのポインタの動的に割り当てられた配列を持っている必要があります。 PlayingCard** _playing_cards; この配列、デッキのコンストラクタを初期化してビルドするには()関数が呼び出されます。 Deck::Deck(int size) { _total_play

    1

    4答えて

    私はComparable * array(クラスのテンプレート内)と呼ばれる他のオブジェクトへのポインタの配列を持っています。 削除では、ポインタによって参照されるメモリが削除され、delete []は配列内の各ポインタに割り当てられたメモリの割り当てを解除することを理解しています。 私の質問は、他のオブジェクトへのポインタを含む配列がある場合、配列内の各ポインタと配列自体によって参照されるメモリ

    4

    2答えて

    次のコード(私がしたいことをやって、適切にコンパイルして実行する)は、ポインタが型を知らなくなったときにポインタを削除する必要があるさまざまな型のプロパティを格納するクラスを書く際に経験した奇妙な例です。私の解決策は、特定の型を削除するためにアドレスを取得して格納できるテンプレート関数を使用してDeleterクラスを作成することでした。 は、なぜそれがアサートをヒットしません。このコードは具体的に

    0

    2答えて

    割り当ての1つとしてC++を使用してバイナリ検索ツリーを実装する必要があります。私はクラスを作成し、クラスののInsertItem、PrintTree、DeleteTreeメソッドを実装しようとしましたが、私はすべてが右やったと思いますが、何らかの理由で私のプログラムは、:( をクラッシュし続けてここに私のコードです: PrintTree方法 template <class TItem> voi

    4

    2答えて

    可能性の重複: Deleting a pointer to const (T const*) void operator delete (void*); ... const char *pn = new char, *pm = (char*)malloc(1); delete pn; // allowed !! free(pm); // error Demo。 free()は関数なので

    -2

    1答えて

    私はオブジェクトのNSMutable配列を持っています。オブジェクトの数はユーザーによって設定されます。 C++では、私はサイクルのために使用すると、「新しい」このようcommand.something:新しいがないので、私はOBJ cで何をする必要があります int fromuser, a; for(a=0;a<fromuser;a++){ array addobject:(new

    3

    4答えて

    、私は次のコードで最初のメモリを解放しません削除理由を知りたいと思い : #include <list> #include <stdio.h> struct abc { long a; abc() { puts("const"); } ~abc() { puts("desc"); } }; int main()

    1

    1答えて

    char *配列を削除しますか? char * = new char[length];delete[] char;? また、この練習ではstd::stringを使用できません。です。 私はこのエラーを取得しています:ここで HEAP CORRUPTION DETECTED: after Normal block (#137) 0x00794B50. CRT detected that the ap

    0

    2答えて

    値と参照を使用して関数へのポインタを渡すことの違いを理解しようとしています。私の場合は、渡されたポインタを削除しています。私は、ポインタを削除すると、そのポインタの変更の一種であると仮定しています。だから、配列にポインタを渡した場合(ptr)、値を関数に渡すと、その関数の中で 'delete [] ptr'を許可してはいけません。しかし、私はこれを行う両方の方法(ptrを値だけでなく参照で渡す)を

    0

    1答えて

    問題は、バイナリツリーノードの削除中にヒープ破損メッセージが表示されてしまうことです。メッセージは言う: HEAP [lab4.exe]:HEAP:無料ヒープブロック5788c0が、それはWindowsがlab4.exeにブレークポイントをトリガした解放された 後5788e8に変更します。 これは、 lab4.exeまたはそれがロードしたいずれかのDLLのバグを示す、ヒープの破損による可能性があり