[STL ] set與map的key type使用自訂class 發生 …

看板C_and_CPP作者 (藍‧聲‧口‧琴)時間15年前 (2009/05/26 05:52), 編輯推噓2(205)
留言7則, 2人參與, 最新討論串1/2 (看更多)
問題如下: 今天我有一個自訂類別想把它存在set中 譬如:set<A> SetOfA; 但是我又希望在裝入set之後還可以改變A的值 因此以SetOfA的iterator呼叫了A的non-constant member function 在VC++編譯可過 但在g++或icc都不行 後來才發現在標準的語法中 做為key type的物件必須為constant object 想請問除了把整個code重寫orz 有沒有別的辦法讓他在icc或g++中編譯過(或是小幅度的修改就好) 以上 懇請板上高手回答 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.32.133 ※ 編輯: lance0705 來自: 140.112.32.133 (05/26 05:59)

05/26 07:42, , 1F
我試g++可以喔,用iterator呼叫non-const member functio
05/26 07:42, 1F

05/26 07:44, , 2F
呃,我試錯了,...試成vector了 ...
05/26 07:44, 2F

05/26 07:45, , 3F
在set中還是可以把function宣告成 const 然後把會改的變
05/26 07:45, 3F

05/26 07:45, , 4F
數宣告成mutable
05/26 07:45, 4F

05/26 08:07, , 5F
噢噢 請問宣告變數為mutable的方法是?
05/26 08:07, 5F

05/26 08:14, , 6F
mutable int a;
05/26 08:14, 6F

05/26 08:38, , 7F
我試試看,感謝您!
05/26 08:38, 7F
文章代碼(AID): #1A6nCJm4 (C_and_CPP)
文章代碼(AID): #1A6nCJm4 (C_and_CPP)