我想創建一個C++對象來包裝外部外圍設備的RAM。我試圖設置如下內容:如何將遠程設備映射爲C++中的數組?
Peripheral p;
p [4] = 10;
int n = p [5];
爲此,我需要讀寫數組元素時訪問外設。 我不能解決如何使用操作符重載等操作。我可以返回一個可在第二行中用作左值的「訪問器」對象:
PeripheralAccessor Peripheral :: operator [](int i);
或我可以定義可用於讀取從所述外圍的int在第三行「簡單」運算符:
INT外設::操作符[](INT I);
但我不能讓這兩個共存給予外設的讀寫訪問權限。我可以將第二個運算符定義爲一個常量(右值)運算符,但它只會被調用爲該類的常量實例,這對於我的需要是不夠的...
希望我已經解釋了什麼我試圖在這裏清楚地實現;有人可以建議我應該怎麼做(或者確實是否有可能)?
+1,在寫同樣的事情。 – 2010-06-28 18:42:11
@尼古拉同樣在這裏。 – Cogwheel 2010-06-28 18:43:49
輝煌,謝謝。這是事實,你可以這樣做: operator int() 我沒有解決。 – Jonny 2010-06-28 18:56:26