每種程式語言都有其運算子,soildity也不例外,接下來介紹一下soildity的運算子。
描述
運算子後自增和後自減
++,–
new運算子
new<>
圓括號()
前自增和前自減
++,–
delete運算子
delete
邏輯非!
按位非~
目運算**
乘法,除法,取模
*,/,%
加法和減法
+,-移位
<<,>>
按位與&
按位異或
^按位或
不等運算
<、>、<=、>=
相等運算
==、!=
邏輯與&&
邏輯非三目運算子
a = ? b : c
賦值運算子
=逗號運算子
,上述所有運算子按照優先順序從高到低進行介紹的。其中new為申請乙個空間去儲存資料如:
a = new bytes(32);
delete並不是c++與new相對應的記憶體釋放運算。在soildity中delete是乙個賦值運算,表示對變數賦初始值,如
uint a;delete a 等效於 a = 0
其他型別的運算子功能與c,c++等語言一致,在這不做一一介紹。
運算子之位運算子
右移 負數 無符號右移 或 異或 與 非 說明 位運算子都是作用在二進位製上的 比如 n 50 n 1 結果是多少?100 n 2 結果是多少?200 n 5 結果是多少?1600 為什麼會是這樣的呢?運算的邏輯如下 1,n 50 2,n的二進位制是 0011 0010 3,0011 0010 左移...
C 之運算子過載 2
上一節主要講解了c 裡運算子過載函式,在看了單目運算子 過載的示例後,也許有些朋友會問這樣的問題。自增運算子在c或c 中既可以放在運算元之前,也可以放在運算元之後,但是前置和後置的作用又是完全不同的 q前置運算子 先加1,再賦值 後置運算子 先賦值,再加1 那麼要怎麼過載它們,才可以有效的區分開來呢...
C 之運算子過載 2
上一節主要講解了c 裡運算子過載函式,在看了單目運算子 過載的示例後,也許有些朋友會問這樣的問題。自增運算子在c或c 中既可以放在運算元之前,也可以放在運算元之後,但是前置和後置的作用又是完全不同的 q前置運算子 先加1,再賦值 後置運算子 先賦值,再加1 那麼要怎麼過載它們,才可以有效的區分開來呢...