delete-operator

    0熱度

    3回答

    我有一個通用的清單與模板 template<class t> class GenericList { //the data is storeed in a chained list, this is not really important. struct c_list { t data; c_list* next; ...constructor... }; public

    0熱度

    3回答

    在C++ 0x中,我可以做這樣的事情: double f(double x) { return x; } template<class T> T f(T x) = delete; 爲了防止f()被稱爲上的任何其他類型的比double。 我想要做的是類似的,但不完全相同。 我有一個函數在指針數組上運行。例如: template<class T> T* some_string

    0熱度

    3回答

    我編譯&運行下面粘貼的代碼,令人驚訝的是它工作沒有錯誤。 (g ++/linux) 如何刪除的對象有一些成員仍然可用?這是一種正常的行爲嗎? #include <iostream> using namespace std; class chair { public: int height; int x; int y; chair() {

    0熱度

    1回答

    我寫在C此功能++作爲一個更大計劃的一部分刪除兩次: Object Single_list<Object>::pop_front() { //Single_node<Object> *tmp_front; //Object hold; if (empty()) { throw underflow(); } Single_node<Ob

    4熱度

    3回答

    我正在寫一個調試版本的全局刪除/ new操作符來檢測內存泄漏,雙重刪除和刪除未分配的內存。對於「新」運算符而言,我覆蓋全局新運算符,並使用宏傳遞了文件名和行號信息。被覆蓋的「新」操作符將地址上的內存地址,文件名,大小和行號信息存儲在地圖上。 我也覆蓋了「刪除」操作符,它會從地圖中刪除已刪除的地址條目。現在我想將已刪除的內存信息存儲在另一個地圖中,該地圖存儲了「刪除」被調用時的文件名和行號信息。 但

    3熱度

    4回答

    如何從淺拷貝對象vs原始對象中刪除雙(刪除)錯誤。 一個簡單的例子: class INT { int *p; //dynamic. //define here fancy constructors etc. set(int i){ p=new int; p=i;} ~INT(); } INT::~INT() { if(p) delete

    4熱度

    4回答

    我遇到了Visual Studio 2010 C++編譯器中的奇怪行爲。 下面的代碼編譯但拋出 「調試斷言失敗」 執行後,用 消息: 「_BLOCK_TYPE_IS_VALID(pHead-> nBlockUse)」 編譯和下GCC順利進行。這是我的錯嗎? #include <iostream> #include <vector> using namespace std; typede

    8熱度

    2回答

    請考慮下面的代碼: typedef SomeType type_t[2]; SomeType * arr1 = new type_t; //new or new[] ??? type_t * arr2 = new type_t[3]; //new or new[] ??? 根據標準,該標準的new版本將在1次和第2次的情況下(new或new[])被調用,如何刪除arr1和arr2 (與de

    0熱度

    1回答

    我想在C++中的簡單代碼,但我在刪除指針時出現Debug Assertion Failed _BLOCK_TYPE_IS_VALID錯誤。我不知道我在做錯什麼。這是我的代碼。 hash_map<string,string> m_hashDetails; m_hashDetails.insert(hash_map<string,string>::value_type("test",*(ne

    -3熱度

    2回答

    我得到了以下代碼,其中最後一條語句我嘗試刪除指向動態創建的內存的指針。 但只要我得到的指令訪問衝突異常引發話說:0000005:在 SERVER.EXE在0x0094c91f 未處理的異常訪問 衝突讀取位置00000000。 但是當我通過它一步與調試器包含在它的有效數據的有效地址...我不知道我在做什麼致命的錯誤在這裏... 任何建議? void CServer::HandleAcceptRequ