[問題] global struct 相等

看板C_and_CPP (C/C++)作者 (早起精神好)時間12年前 (2014/01/29 07:42), 編輯推噓0(006)
留言6則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Linux 問題(Question): 需要使用到其他function裡的引入函數 struct,請問可以宣告一個global struct 讓他在那個function裡相等嗎? 在外宣告一個 struct power_supply *psy2; int power_supply_create_triggers(struct power_supply *psy) { psy2=psy; if (psy->type == POWER_SUPPLY_TYPE_BATTERY) return power_supply_create_bat_triggers(psy); return power_supply_create_gen_triggers(psy); } 這樣請問 psy2和psy的值會相等嗎 還是不能直接用等於呢 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.166.116.187

01/29 09:52, , 1F
不是不行. 只是看起來很容易爆炸. 建議你修改設計
01/29 09:52, 1F

01/30 15:43, , 2F
指標只是指向一個記憶體空間而已,型別是這個空間的大小
01/30 15:43, 2F

01/30 15:44, , 3F
所以只要兩個型別大小相同,內容配置一樣的話就可以
01/30 15:44, 3F

02/02 21:50, , 4F
這樣就不是thread safe了
02/02 21:50, 4F

02/02 21:58, , 5F
singleton pattern, 不過我好奇要做到 thread safe 的話
02/02 21:58, 5F

02/02 21:58, , 6F
該怎麼做.
02/02 21:58, 6F
文章代碼(AID): #1Iw41Z__ (C_and_CPP)
文章代碼(AID): #1Iw41Z__ (C_and_CPP)