new-operator

    0熱度

    1回答

    我有一個相當大的挑戰(也許只是爲了我)。 我有幾個繼承自某些基類A的類。 所有這些類都應該重載new和delete運算符。 現在,我在類A中重載了new/delete以返回錯誤消息,但我希望能夠在編譯時識別這些情況,而不是在運行時識別這些情況,因爲有很多繼承類,並且很難跟蹤他們。 任何想法如何強制從類A繼承的類重載新/刪除操作符?或任何其他解決方案? 謝謝。

    -1熱度

    2回答

    我在一次採訪中被問到: 「在C++的內存管理方面,說明這段代碼有什麼問題?」 int main(){ for(int i = 0; i<10; i++){ Foo foo = new Foo(); delete foo; } } class Foo{ foo(){ string x = new string;

    1熱度

    3回答

    我在玩C++,偶然發現了這個問題。我試圖在堆上初始化一個數組指針,它在initialize()內部工作,在那裏它輸出69,但在main()中,它崩潰,出現錯誤EXC_BAD_ACCESS。 #include <iostream> void initialize(int* array, int size) { array = new int[size]; // Testin

    0熱度

    1回答

    如何實現函數newObject(不使用new運算符),其行爲與新運算符完全相同? (在JavaScript) 準確地說我想obj = new MyClass(arg1, arg2)是一樣obj2 = newObject(MyClass, arg1, arg2) 任何想法,因爲我出出主意? :)

    2熱度

    1回答

    在[expr.new]/7有以下短語: 如果表達,轉換爲std::size_t之後,是一個核心 常量表達式和該表達是錯誤的,該程序是 不良形式。否則,帶有錯誤表達式 的新表達式不會調用分配函數,並會拋出類似 std::bad_array_new_length類型的處理程序(15.3)的類型的異常終止。 區分錯誤的核心常量表達式和錯誤的表達式有什麼相關性?

    0熱度

    1回答

    有人知道爲什麼調用Dogter operator的Latter語法在分配後調用默認構造函數,最終調用2構造函數? 我想知道如果我做錯事,我該怎麼辦: Dog *ptr = new("arg") Dog(); ,而無需調用構造函數2。並且不使用任何技巧,比如檢查默認構造函數,如果對象已經構造。下面是代碼: class Dog { public: Dog() // default

    0熱度

    1回答

    我正在一個小程序中構建一個小遊戲。每當我嘗試運行它,我得到就行了以下錯誤 buttons[i][k] = new ActiveSquare(k); 錯誤: java.lang.NullPointerException at com.proj3.renee.ClickAid.<init>(ClickAid.java:21) at sun.reflect.NativeConstructorAcce

    1熱度

    3回答

    類 的對象,我們剛剛進入的對象和我碰到一個問題就來了。考慮下面的類我創建... public class employee{ String name; int waiting_time; int retaining_time; public employee(String name) { this.name=name; }

    -1熱度

    2回答

    這是What is wrong with this code that promisify a function?的後續問題 方法1工作; var Converter = require('csvtojson').Converter; Promise.promisifyAll(Converter.prototype); var converter = new Converter(); 方法

    0熱度

    5回答

    您好我來自爪哇其中以下是有效的: System.out.println(new String("Hello World")); 是有C++相當於通過創建在構造的物體或指針,並將其傳遞作爲參數同時等。 heap.insert(new Food);