簡體   English   中英

為什么在一元運算中不允許一元運算符?

[英]Why unary operators not allowed in compound assignments?

我知道a!= b或a〜= b等,盡管允許a =!b或a =〜b,但是C中不允許使用復合賦值。 只是好奇為什么語言是這樣設計的? 任何特定的技術原因? 在最新的編譯器中提供了這種支持嗎? C的這種局限性(至少我認為這是一種局限性)使初學者的語言變得復雜。 這使我們能夠真正記住C中的某些此類功能。

定義!=~=可能會引起不必要的混亂,因為某些令牌可以是由上下文確定的一元運算符或二進制運算符。 例如:a- a -= b是什么意思, a = a - ba = -b什么意思?

無論如何,您不需要它們。 a = !ba = ~b不會引起更多的鍵入,並且很容易理解。

暫無
暫無

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

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