看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《jijuan (雞卷)》之銘言: : 它的解釋是Fills a block of memory with zeros. : 把一塊記憶體配置為0 : vector<myObj*> object_A; : object_A.resize(10); : 如果我要把這10個物件的pointer都指向0 : vector<myObj*>::iterator it; : it = object_A.begin(); : ZeorMemory(&it, object_A.size()); : 上面的用法正確嗎? 我不太清楚 ZeroMemory 做的是什麼, 但 看來和 memset 為 0 差不多. 要是這樣的話, 千萬不要這樣做 1) object_A 是一個 vector 的 object instance, 亂把 object instance 的整段 memory 設 0 是非常危險的, 你會把很多不該動到的地方 (e.g. virtual function pointer table) 設成 0. 2) 養成好習慣, pointer 請指向 NULL 而不是 0. : for(int i=0; i<10; ++i) : { : object_A.at(i) = 0; : } : 這兩者所做的事是一樣的嗎? 不一樣 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82
littleshan:它參數吃 iterator,看來是和 for-loop 一樣? 04/09 16:56
akasan:他吃的是void*... 04/09 17:03