このシンボルはコンパイラによって生成されたデストラクタのようです。これは「コンパイラ生成デストラクタ」と「スカラー削除デストラクタ」の違いは何ですか?他のタイプのコンパイラで生成されたctor/dtorはありますか?VC++のシンボル「ベクトル削除デストラクタ」の意味は?
答えて
'scalar deleting destructor'
および'vector deleting destructor'
という名前の関数は、delete
ステートメントのコードを生成するときにVCコンパイラによって作成されるヘルパー関数です。コンパイラによって生成されるクラスデストラクタとそれらを混同しないでください。 前者はなぜあなたはanwserを受け入れない
void vector_deleting_destructor(A* pa, size_t count)
{
for (size_t i = 0; i < count; ++i)
pa[i].~A();
A::operator delete[](pa);
}
ありがとう、アンドレイ。私はここで内部の削除演算子について少し混乱しています。このスカラー削除デストラクタはコンパイラによって生成され、 'delete a'によって呼び出されます。これは正しいですか?原因の再帰を削除するための内部呼び出しがありますか? – Thomson
@Thomsonもっと明確にしよう。 'delete a'は* delete文*です。つまり、実際にメモリを解放する関数である' delete operator * 'である 'A :: operator delete'と混同しないでください。現在私はC++標準を持っていないので、少し後でリファレンスを提供することができます。 – Andrey
- 1. シンボルの意味:+:Scala?
- 2. C++:STL:ベクトル:削除:デストラクタは、コードは以下の通りです
- 3. Scalaのシンボル「That」の意味
- 4. PLSQLシンボルの意味 "=>"
- 5. シンボル '<>'の意味?
- 6. ベクトルのコンストラクタ/デストラクタは
- 7. ベクトルのベクトルの削除エラー
- 8. VC++リンカの出力で/ DISALLOWLIBメッセージの意味は何ですか?
- 9. スレッド(VC++ 2010)の「結合」の意味は何ですか?
- 10. ベクトルのリストのインクリメンタルな意味
- 11. VC++ウォッチウィンドウで{???}の意味は何ですか?
- 12. Xcodeの未定義シンボル〜デストラクタ
- 13. 削除はデストラクタを呼び出す
- 14. LinkedListの内容を削除する(デストラクタ)
- 15. 一意でない値の削除とベクトルの並べ替え
- 16. 任意のVC
- 17. Nutch Crawl - 各クロールの意味でのセグメントの削除
- 18. Pythonのこれらのシンボルの意味は何ですか?
- 19. 削除句読点と意味の文を返す - Pythonの
- 20. postgeqlでは '@>'シンボルの意味は何ですか?
- 21. シンボルは何ですか! WebStormのgitインテグレーションの意味
- 22. unique_ptrの削除中のベクトル?
- 23. コーパスから意味のない単語を削除するR
- 24. nmコマンドの「シンボル値」とはどういう意味ですか?
- 25. データベースグリッドのシンボルは何を意味しますか?
- 26. Xcodeスレッド/キュービューのシンボルとはどういう意味ですか?
- 27. シンボルの意味は何ですか?> PHPで
- 28. MSILのシンボル<>は何を意味していますか?
- 29. これらのgitシンボルは何を意味しますか?
- 30. シンボルのエクスポートは何を意味しますか?
として
、後者のように疑似コードで表現することができますか? – Liviu