{"id":810,"date":"2006-10-30T17:30:23","date_gmt":"2006-10-30T09:30:23","guid":{"rendered":"https:\/\/www.ecjtu.com\/keith\/archives\/810"},"modified":"2006-10-31T10:02:33","modified_gmt":"2006-10-31T02:02:33","slug":"c-%e8%bf%90%e7%ae%97%e7%ac%a6%e4%bc%98%e5%85%88%e7%ba%a7%e5%88%97%e8%a1%a8","status":"publish","type":"post","link":"https:\/\/www.ecjtu.com\/keith\/archives\/810","title":{"rendered":"C++ \u8fd0\u7b97\u7b26\u4f18\u5148\u7ea7\u5217\u8868"},"content":{"rendered":"<p><a href=\"http:\/\/www.cppreference.com\/operator_precedence.html\">http:\/\/www.cppreference.com\/operator_precedence.html<\/a><\/p>\n<table class=\"code-table\" border=\"1\">\n<tbody>\n<tr>\n<th class=\"code-table-th\">Precedence<\/th>\n<th class=\"code-table-th\">Operator<\/th>\n<th class=\"code-table-th\">Description<\/th>\n<th class=\"code-table-th\">Example<\/th>\n<th class=\"code-table-th\">Associativity<\/th>\n<\/tr>\n<tr>\n<td class=\"code-table-td\">1<\/td>\n<td class=\"code-table-td\">()<br \/>\n[]<br \/>\n-&gt;<br \/>\n.<br \/>\n::<br \/>\n++<br \/>\n&#8212;<\/td>\n<td class=\"code-table-td\">Grouping operator<br \/>\nArray access<br \/>\nMember access from a pointer<br \/>\nMember access from an object<br \/>\nScoping operator<br \/>\nPost-increment<br \/>\nPost-decrement<\/td>\n<td class=\"code-table-td\">(a + b) \/ 4;<br \/>\narray[4] = 2;<br \/>\nptr-&gt;age = 34;<br \/>\nobj.age = 34;<br \/>\nClass::age = 2;<br \/>\nfor( i = 0; i &lt; 10; i++ ) &#8230;<br \/>\nfor( i = 10; i &gt; 0; i&#8211; ) &#8230;<\/td>\n<td class=\"code-table-td\">left to right<\/td>\n<\/tr>\n<tr>\n<td class=\"code-table-td\">2<\/td>\n<td class=\"code-table-td\">!<br \/>\n~<br \/>\n++<br \/>\n&#8212;<br \/>\n&#8211;<br \/>\n+<br \/>\n*<br \/>\n&amp;<br \/>\n(type)<br \/>\n<a href=\"http:\/\/www.cppreference.com\/keywords\/sizeof.html\">sizeof<\/a><\/td>\n<td class=\"code-table-td\">Logical negation<br \/>\nBitwise complement<br \/>\nPre-increment<br \/>\nPre-decrement<br \/>\nUnary minus<br \/>\nUnary plus<br \/>\nDereference<br \/>\nAddress of<br \/>\nCast to a given type<br \/>\nReturn size in bytes<\/td>\n<td class=\"code-table-td\">if( !done ) &#8230;<br \/>\nflags = ~flags;<br \/>\nfor( i = 0; i &lt; 10; ++i ) &#8230;<br \/>\nfor( i = 10; i &gt; 0; &#8211;i ) &#8230;<br \/>\nint i = -1;<br \/>\nint i = +1;<br \/>\ndata = *ptr;<br \/>\naddress = &amp;obj;<br \/>\nint i = (int) floatNum;<br \/>\nint size = sizeof(floatNum);<\/td>\n<td class=\"code-table-td\">right to left<\/td>\n<\/tr>\n<tr>\n<td class=\"code-table-td\">3<\/td>\n<td class=\"code-table-td\">-&gt;*<br \/>\n.*<\/td>\n<td class=\"code-table-td\">Member pointer selector<br \/>\nMember pointer selector<\/td>\n<td class=\"code-table-td\">ptr-&gt;*var = 24;<br \/>\nobj.*var = 24;<\/td>\n<td class=\"code-table-td\">left to right<\/td>\n<\/tr>\n<tr>\n<td class=\"code-table-td\">4<\/td>\n<td class=\"code-table-td\">*<br \/>\n\/<br \/>\n%<\/td>\n<td class=\"code-table-td\">Multiplication<br \/>\nDivision<br \/>\nModulus<\/td>\n<td class=\"code-table-td\">int i = 2 * 4;<br \/>\nfloat f = 10 \/ 3;<br \/>\nint rem = 4 % 3;<\/td>\n<td class=\"code-table-td\">left to right<\/td>\n<\/tr>\n<tr>\n<td class=\"code-table-td\">5<\/td>\n<td class=\"code-table-td\">+<br \/>\n&#8211;<\/td>\n<td class=\"code-table-td\">Addition<br \/>\nSubtraction<\/td>\n<td class=\"code-table-td\">int i = 2 + 3;<br \/>\nint i = 5 &#8211; 1;<\/td>\n<td class=\"code-table-td\">left to right<\/td>\n<\/tr>\n<tr>\n<td class=\"code-table-td\">6<\/td>\n<td class=\"code-table-td\">&lt;&lt;<br \/>\n&gt;&gt;<\/td>\n<td class=\"code-table-td\">Bitwise shift left<br \/>\nBitwise shift right<\/td>\n<td class=\"code-table-td\">int flags = 33 &lt;&lt; 1;<br \/>\nint flags = 33 &gt;&gt; 1;<\/td>\n<td class=\"code-table-td\">left to right<\/td>\n<\/tr>\n<tr>\n<td class=\"code-table-td\">7<\/td>\n<td class=\"code-table-td\">&lt;<br \/>\n&lt;=<br \/>\n&gt;<br \/>\n&gt;=<\/td>\n<td class=\"code-table-td\">Comparison less-than<br \/>\nComparison less-than-or-equal-to<br \/>\nComparison greater-than<br \/>\nComparison geater-than-or-equal-to<\/td>\n<td class=\"code-table-td\">if( i &lt; 42 ) &#8230;<br \/>\nif( i &lt;= 42 ) &#8230;<br \/>\nif( i &gt; 42 ) &#8230;<br \/>\nif( i &gt;= 42 ) &#8230;<\/td>\n<td class=\"code-table-td\">left to right<\/td>\n<\/tr>\n<tr>\n<td class=\"code-table-td\">8<\/td>\n<td class=\"code-table-td\">==<br \/>\n!=<\/td>\n<td class=\"code-table-td\">Comparison equal-to<br \/>\nComparison not-equal-to<\/td>\n<td class=\"code-table-td\">if( i == 42 ) &#8230;<br \/>\nif( i != 42 ) &#8230;<\/td>\n<td class=\"code-table-td\">left to right<\/td>\n<\/tr>\n<tr>\n<td class=\"code-table-td\">9<\/td>\n<td class=\"code-table-td\">&amp;<\/td>\n<td class=\"code-table-td\">Bitwise AND<\/td>\n<td class=\"code-table-td\">flags = flags &amp; 42;<\/td>\n<td class=\"code-table-td\">left to right<\/td>\n<\/tr>\n<tr>\n<td class=\"code-table-td\">10<\/td>\n<td class=\"code-table-td\">^<\/td>\n<td class=\"code-table-td\">Bitwise exclusive OR<\/td>\n<td class=\"code-table-td\">flags = flags ^ 42;<\/td>\n<td class=\"code-table-td\">left to right<\/td>\n<\/tr>\n<tr>\n<td class=\"code-table-td\">11<\/td>\n<td class=\"code-table-td\">|<\/td>\n<td class=\"code-table-td\">Bitwise inclusive (normal) OR<\/td>\n<td class=\"code-table-td\">flags = flags | 42;<\/td>\n<td class=\"code-table-td\">left to right<\/td>\n<\/tr>\n<tr>\n<td class=\"code-table-td\">12<\/td>\n<td class=\"code-table-td\">&amp;&amp;<\/td>\n<td class=\"code-table-td\">Logical AND<\/td>\n<td class=\"code-table-td\">if( conditionA &amp;&amp; conditionB ) &#8230;<\/td>\n<td class=\"code-table-td\">left to right<\/td>\n<\/tr>\n<tr>\n<td class=\"code-table-td\">13<\/td>\n<td class=\"code-table-td\">||<\/td>\n<td class=\"code-table-td\">Logical OR<\/td>\n<td class=\"code-table-td\">if( conditionA || conditionB ) &#8230;<\/td>\n<td class=\"code-table-td\">left to right<\/td>\n<\/tr>\n<tr>\n<td class=\"code-table-td\">14<\/td>\n<td class=\"code-table-td\">? :<\/td>\n<td class=\"code-table-td\">Ternary conditional (if-then-else)<\/td>\n<td class=\"code-table-td\">int i = (a &gt; b) ? a : b;<\/td>\n<td class=\"code-table-td\">right to left<\/td>\n<\/tr>\n<tr>\n<td class=\"code-table-td\">15<\/td>\n<td class=\"code-table-td\">=<br \/>\n+=<br \/>\n-=<br \/>\n*=<br \/>\n\/=<br \/>\n%=<br \/>\n&amp;=<br \/>\n^=<br \/>\n|=<br \/>\n&lt;&lt;=<br \/>\n&gt;&gt;=<\/td>\n<td class=\"code-table-td\">Assignment operator<br \/>\nIncrement and assign<br \/>\nDecrement and assign<br \/>\nMultiply and assign<br \/>\nDivide and assign<br \/>\nModulo and assign<br \/>\nBitwise AND and assign<br \/>\nBitwise exclusive OR and assign<br \/>\nBitwise inclusive (normal) OR and assign<br \/>\nBitwise shift left and assign<br \/>\nBitwise shift right and assign<\/td>\n<td class=\"code-table-td\">int a = b;<br \/>\na += 3;<br \/>\nb -= 4;<br \/>\na *= 5;<br \/>\na \/= 2;<br \/>\na %= 3;<br \/>\nflags &amp;= new_flags;<br \/>\nflags ^= new_flags;<br \/>\nflags |= new_flags;<br \/>\nflags &lt;&lt;= 2;<br \/>\nflags &gt;&gt;= 2;<\/td>\n<td class=\"code-table-td\">right to left<\/td>\n<\/tr>\n<tr>\n<td class=\"code-table-td\">16<\/td>\n<td class=\"code-table-td\">,<\/td>\n<td class=\"code-table-td\">Sequential evaluation operator<\/td>\n<td class=\"code-table-td\">for( i = 0, j = 0; i &lt; 10; i++, j++ ) &#8230;<\/td>\n<td class=\"code-table-td\">left to right<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>http:\/\/www.cppreference.com\/operator_precedence.html Pr [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[168],"tags":[267],"_links":{"self":[{"href":"https:\/\/www.ecjtu.com\/keith\/wp-json\/wp\/v2\/posts\/810"}],"collection":[{"href":"https:\/\/www.ecjtu.com\/keith\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ecjtu.com\/keith\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ecjtu.com\/keith\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ecjtu.com\/keith\/wp-json\/wp\/v2\/comments?post=810"}],"version-history":[{"count":1,"href":"https:\/\/www.ecjtu.com\/keith\/wp-json\/wp\/v2\/posts\/810\/revisions"}],"predecessor-version":[{"id":811,"href":"https:\/\/www.ecjtu.com\/keith\/wp-json\/wp\/v2\/posts\/810\/revisions\/811"}],"wp:attachment":[{"href":"https:\/\/www.ecjtu.com\/keith\/wp-json\/wp\/v2\/media?parent=810"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ecjtu.com\/keith\/wp-json\/wp\/v2\/categories?post=810"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ecjtu.com\/keith\/wp-json\/wp\/v2\/tags?post=810"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}