[英]++ operator on a pointer to struct member
我遇到了一段代碼:
++myStruct->counter
我對如何評估++運算符和 - >運算符感到困惑。 ++優先於 - >運算符和從左到右的評估。 似乎++運算符實際上會對'myStruct'執行指針運算,而不是遞增計數器成員。
后綴增量和減量具有與->
運算符和從左到右相關性相同的優先級,但前綴增量和減量在后面。 所以代碼確實增加了變量counter
而不是myStruct
。
根據cppreference , 前綴 ++
/ --
運算符的優先級低於->
運算符。 后綴 1具有相同的優先級,但是從左到右的關聯性。
++優先於 - >運算符和從左到右的評估。
這是不正確的 - 像->
這樣的后綴運算符比一元(前綴)運算符++
和--
具有更高的優先級。 表達式被解析為
++(myStruct->counter)
所以myStruct
的counter
成員正在增加。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.