是否可以使用改變我的當前結構的地址 - 或++運算符,即:通過++改變C++ struct的地址和 - 運營商
mystruct* test = existing_mystruct;
test++ // instead of using: test = test->next_p;
我試圖利用這一點,但它似乎是常量,給我一個錯誤:分配到這個(過時):雖然他們存在
struct mystruct {
mystruct* next_p;
mystruct* prev_p;
void operatorplusplus () { this = next_p; }
void operatorminusminus() { this = prev_p; }
};
'this =(anything)'很不可能在標準的編譯器中工作。 IIRC'this'被認爲是const。 – cHao
@cHao:IIRC'this'是一個右值表達式,它比'const'更不易分配。 –
歷史筆記:「這個」曾經是可以修改的,早在早期;在構造函數中賦予'this'就是今天放置新元素的類比。 –