pointers

    7熱度

    2回答

    實例化一個列表(因此忽略與創建列表相關的開銷)之後,將同一對象反覆添加到列表的內存成本是多少?我相信以下內容只是將相同的指針內存添加到列表中,因此這個列表實際上並不佔用大量內存。有人可以證實是這樣嗎? List<newType> list = new List<newType>(); newType example = new newType(); for (int i = 0; i <

    2熱度

    2回答

    我需要在運行時打開多個共享庫。我不知道它們的數量(計數),所以我使用的動態內存分配: void* handle= new void* [n]; // n refers to number of handles handle[0] = dlopen("./fileN.so", RTLD_LAZY); // doesn't work : Error: ‘void*’ is not a pointer

    0熱度

    2回答

    我試圖通過我使用庫所定義的字符串指定給這樣 char *(*attributes)[][2];定義的陣列。 我希望能夠把一個字符串轉換成attributes[i][0] 我想我剛開始搞不清指針,我得到的錯誤說無效使用未指定邊界的數組。 屬性數組存儲在名爲info的結構中。 我試圖訪問它: *(info->attributes)[i][0] = newAttributeName 這對我來說很有意義,

    1熱度

    1回答

    我一直在試圖弄清楚這一點,所以任何幫助都會很棒。我正在爲一個學校項目編寫引擎,我的一個指針中的數據似乎正在發生變化。我聲明瞭一個對象指針Actor * actor;在Engine.h與 void Engine::initActor(Actor* newActor) { actor = newActor; std::cout << "Actor imported." << st

    2熱度

    4回答

    我爲我的類製作了一個模板來模擬堆棧的基本功能,並且出現錯誤,我不知道如何解決該問題。 我的代碼: #using <mscorlib.dll> using namespace System; using namespace System::IO; #include <iostream> #include <vector> using namespace std; template<c

    2熱度

    5回答

    我環顧四周,無法弄清楚這一點:我有一個實現觀察者模式和List實現的對象,允許在列表中的任何對象上觸發更改事件時將偵聽器添加到列表中,以避免手動向列表中的每個對象添加/刪除偵聽器。 我遇到的問題是,當創建相同List實現的新實例並從現有列表添加對象時,對象更改不會從添加到新列表中的Bean觸發。我的想法是,當向一個集合添加一個對象時,它只是添加一個指向現有對象的指針,在這種情況下,更改通知將在新列

    1熱度

    1回答

    我有問題將數組結構傳遞給函數進行處理。 我想我需要傳遞給函數的數組的地址,但已經得到了多個編譯器錯誤和正在運行了組合菜系。 該函數然後需要返回一個值到一個新的結構成員。 這是我的最佳拍攝! //----------------- void Function(struct MyStruct* ptr); //------------------ int main(

    2熱度

    3回答

    是否有指針或類似於as3的概念? 我用的 var mc1:MovieClip; var mc2:MovieClip(); var mcCommon:MovieClip = new MovieClip(); mcCommon["myptr"] = mc1; mcCommon["myptr"] = mc2; 一個概念,我會在哪裏去閱讀和了解這個概念。我想獲得簡單的答案,因爲我不是as3的專

    3熱度

    4回答

    我有一個數組/指針相關的問題。 我創建了一個大小爲3的int數組myArray。使用函數我想填充這個數組。 所以我打電話給這個函數,給她地址&myArray。 函數聲明的語法是否正確?我將指針交給數組,所以函數可以逐個填充數組元素。 但不知何故我的數組沒有填寫正確的值。 在Java中我可以給一個方法一個數組並返回一個數組。 任何幫助表示讚賞!謝謝! #include <stdio.h> int

    1熱度

    5回答

    我看到一個非常奇怪的代碼片段,我不太清楚,如果我的理解是正確的: #include <stdio.h> int main(char *argc, char **argv) { char a[50]; *(char *) (a + 2) = 'b'; // <== THE LINE WHICH CONFUSES ME printf("value: %c\n",