問題タブ [delete-operator]

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 投票する
8 に答える
129984 参照

c++ - C++ ポインターの配列: [] を削除または削除しますか?

次のコードを検討してください。

正しいデストラクタは何ですか?

これ:

またはこれ:

私は現在、最上位のコンストラクターを持っており、すべて正常に動作していますが、もちろん、リークが発生しているかどうかはわかりません...

個人的には、私がやっていることを考えると、2 番目のバージョンの方がはるかに論理的だと思います。とにかく、これを行う「適切な」方法は何ですか?

0 投票する
6 に答える
89678 参照

c++ - CでのC++の新規/削除に相当するものは何ですか?

CでのC++の新規/削除に相当するものは何ですか?

それともC/C ++でも同じですか?

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

c++ - STLコンテナでlambda+for_each + delete

超クールなラムダ関数で記述されたvector/list/...関数のすべてのポインターを単純に削除しようとしています。

???に何を記入すればいいのかわかりません。どんな助けでも大歓迎です!

更新:これはどのように見えるべきかです:

0 投票する
5 に答える
138 参照

c++ - このコードでクラス デストラクタを呼び出す必要がありますか?

このサンプルを使用して、Web サーバーから取得/送信するデータをデコード/エンコードしています。次のように使用したいと考えています。

タイマーは5分ごとに設定されています。

最後にdelete base64を使用する必要がありますか? 削除すると、base64 で使用されるすべての割り当てが解除されますか?

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

c++ - C++ の新規 & 削除および関数

これは私には少し不明確です...だから、もし私が関数を持っているなら:

そしてそれを複数回呼び出します:

問題は、呼び出しdelete[]ごとに使用する必要があるかどうかです。new[]

0 投票する
5 に答える
15385 参照

c++ - C ++のnew&deleteおよびstring&functions

さて、の質問は明確に答えられましたが、私は別の問題を発見しました。

私がやったら:

そしてそれを実行します:

したがって、char *をstringに変換した後、削除について心配する必要はありませんか?

編集:答えたように、私はdelete[]それぞれnew[]の呼び出しをしなければなりません、しかし私の場合、ポインタが失われたのでそれは不可能です、それで問題は:どうやってcharをstringに正しく変換するのですか?

0 投票する
5 に答える
2558 参照

c++ - C++に相当するC++delete [](char *)

C++に相当するCは何ですか

編集:いくつかのC++コードをANSICに変換しています。

これはCのためにそれをしますか?

0 投票する
9 に答える
14550 参照

c++ - try-catchブロックのメモリを解放する方法は?

簡単な質問があります。例外が発生したときに、tryブロックに割り当てられた1つのメモリをどのように解放しますか?次のコードを検討してください。

ヒープが割り当てられ、呼び出し前に例外が発生した後、どうすればメモリを解放できますdelete[] heapか?これらのtry..catchブロックのヒープにメモリを割り当てないというルールはありますか?

0 投票する
8 に答える
3071 参照

c++ - C++ でポインターのベクトルから要素を削除する

次のコードは C++ に準拠していないと聞いたことを覚えています。

その理由は、ベクトルが無効なメモリへのポインターを含むことは違法であるというものでした。明らかに、私の例はコンパイルされ、私が知っているすべてのコンパイラで動作しますが、それは標準に準拠した C++ ですか、それとも次のことを行う必要があるのでしょうか。実際には標準に準拠したアプローチであると言われました。

0 投票する
6 に答える
553 参照

c++ - ユーザー定義のベクトルの削除-C++

私には2つのクラスがあります。たとえばAとBです。クラスBには独自のデストラクタがあります。クラスA内に、クラスBのオブジェクトへのポインターのベクトルがあります。ベクトルは次のとおりです。

クラスAのデストラクタで、メモリを取得するにはどうすればよいですか?ベクトルを循環する場合、各オブジェクトを取得し、取得したすべてのオブジェクトに対して削除を使用しますか?デストラクタで試してみましたが、セグフォールトです。

この問題を解決するための助けは大歓迎です。申し訳ありませんが、コードを投稿できません。