簡體   English   中英

指向struct成員的指針上的++運算符

[英]++ operator on a pointer to struct member

我遇到了一段代碼:

++myStruct->counter

我對如何評估++運算符和 - >運算符感到困惑。 ++優先於 - >運算符和從左到右的評估。 似乎++運算符實際上會對'myStruct'執行指針運算,而不是遞增計數器成員。

后綴增量和減量具有與->運算符和從左到右相關性相同的優先級,但前綴增量和減量在后面。 所以代碼確實增加了變量counter而不是myStruct

根據cppreference前綴 ++ / --運算符的優先級低於->運算符。 后綴 1具有相同的優先級,但是從左到右的關聯性。

++優先於 - >運算符和從左到右的評估。

這是不正確的 - 像->這樣的后綴運算符比一元(前綴)運算符++--具有更高的優先級。 表達式被解析為

++(myStruct->counter)

所以myStructcounter成員正在增加。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM