📄 edglang3.htm
字号:
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206972"> </a>RTTI (runtime type identification), including <font size=2 face=Courier><strong>dynamic_cast</strong></font><font face="Verdana, Arial, Helvetica, sans-serif"> </font>and the <font size=2 face=Courier><strong>typeid</strong></font><font face="Verdana, Arial, Helvetica, sans-serif"> </font>operator, is implemented.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206973"> </a>Declarations in tested conditions (in <font size=2 face=Courier><strong>if</strong></font>, <font size=2 face=Courier><strong>switch</strong></font>, <font size=2 face=Courier><strong>for</strong></font>, and <font size=2 face=Courier><strong>while</strong></font><font face="Verdana, Arial, Helvetica, sans-serif"> </font>statements) are supported.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206974"> </a>Array <font size=2 face=Courier><strong>new</strong></font><font face="Verdana, Arial, Helvetica, sans-serif"> </font>and <font size=2 face=Courier><strong>delete</strong></font><font face="Verdana, Arial, Helvetica, sans-serif"> </font>are implemented.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206975"> </a>New-style casts (<font size=2 face=Courier><strong>static_cast</strong></font>, <font size=2 face=Courier><strong>reinterpret_cast</strong></font>, and <font size=2 face=Courier><strong>const_cast</strong></font>) are implemented.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206976"> </a>Definition of a nested class outside its enclosing class is allowed.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206977"> </a><font size=2 face=Courier><strong>mutable</strong></font><font face="Verdana, Arial, Helvetica, sans-serif"> </font>is accepted on nonstatic data member declarations.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206978"> </a>Namespaces are implemented, including <font size=2 face=Courier><strong>using</strong></font><font face="Verdana, Arial, Helvetica, sans-serif"> </font>declarations and directives. Access declarations are broadened to match the corresponding <font size=2 face=Courier><strong>using</strong></font><font face="Verdana, Arial, Helvetica, sans-serif"> </font>declarations.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206979"> </a>Explicit instantiation of templates is implemented.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206980"> </a>The <font size=2 face=Courier><strong>typename</strong></font><font face="Verdana, Arial, Helvetica, sans-serif"> </font>keyword is recognized.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206981"> </a><font size=2 face=Courier><strong>explicit</strong></font><font face="Verdana, Arial, Helvetica, sans-serif"> </font>is accepted to declare non-converting constructors.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206982"> </a>The scope of a variable declared in the <font size=2 face=Courier><strong>for-init-statement</strong></font><font face="Verdana, Arial, Helvetica, sans-serif"> </font>of a <font size=2 face=Courier><strong>for</strong></font><font face="Verdana, Arial, Helvetica, sans-serif"> </font>loop is the scope of the loop (not the surrounding scope).</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206983"> </a>Member templates are implemented.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206984"> </a>The new specialization syntax (using "<font size=2 face=Courier><strong>template <></strong></font>") is implemented.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206985"> </a>Cv-qualifiers are retained on rvalues (in particular, on function return values).</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206986"> </a>The distinction between trivial and nontrivial constructors has been implemented, as has the distinction between PODs and non-PODs with trivial constructors.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206987"> </a>The linkage specification is treated as part of the function type (affecting function overloading and implicit conversions).</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206988"> </a><font size=2 face=Courier><strong>extern inline</strong></font> functions are supported, and the default linkage for inline functions is external.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206989"> </a>A typedef name may be used in an explicit destructor call.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206990"> </a>Placement delete is implemented.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206991"> </a>An array allocated via a placement new can be deallocated via delete.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206992"> </a>Covariant return types on overriding virtual functions are supported.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206993"> </a><font size=2 face=Courier><strong>enum</strong></font> types are considered to be non-integral types.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206994"> </a>Partial specialization of class templates is implemented.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206995"> </a>Partial ordering of function templates is implemented.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206996"> </a>Function declarations that match a function template are regarded as independent functions, not as "guiding declarations" that are instances of the template.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206997"> </a>It is possible to overload operators using functions that take enum types and no class types.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206998"> </a>Explicit specification of function template arguments is supported.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1206999"> </a>Unnamed template parameters are supported.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1207000"> </a>The new lookup rules for member references of the form <font size=2 face=Courier><strong>x.A::B</strong></font> and <font size=2 face=Courier><strong>p->A::B</strong></font> are supported.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1207001"> </a>The notation <font size=2 face=Courier><strong>:: template</strong></font> (also <font size=2 face=Courier><strong>->template</strong></font> and so on) is supported.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1207002"> </a>In a reference of the form <font size=2 face=Courier><strong>f()->g()</strong></font>, with <font size=2 face=Courier><strong>g</strong></font> a static member function, <font size=2 face=Courier><strong>f()</strong></font> is evaluated, and likewise for a similar reference to a static data member. The ARM specifies that the left operand is not evaluated in such cases.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1207003"> </a><font size=2 face=Courier><strong>enum</strong></font> types can contain values larger than can be contained in an <font size=2 face=Courier><strong>int</strong></font>.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1207004"> </a>Default arguments of function templates and member functions of class templates are instantiated only when the default argument is used in a call.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1207005"> </a>String literals and wide string literals have <font size=2 face=Courier><strong>const</strong></font> type.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1207006"> </a>Class name injection is implemented.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1207007"> </a>Argument-dependent (Koenig) lookup of function names is implemented.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1207008"> </a>Class and function names declared only in unqualified friend declarations are not visible except for functions found by argument-dependent lookup.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1207009"> </a>A <font size=2 face=Courier><strong>void</strong></font> expression can be specified on a return statement in a <font size=2 face=Courier><strong>void</strong></font> function.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1207010"> </a>Function-try-blocks, that is, try-blocks that are the top-level statements of functions, constructors, or destructors, are implemented.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1207011"> </a>Universal character set escapes (for example <font size=2 face=Courier><strong>\uabcd</strong></font>) are implemented.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1207012"> </a>On a call in which the expression to the left of the opening parenthesis has class type, overload resolution looks for conversion functions that can convert the class object to pointer-to-function types, and each such pointed-to "surrogate function" type is evaluated alongside any other candidate functions.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1207013"> </a>Dependent name lookup in templates is implemented. Nondependent names are looked up only in the context of the template definition. Dependent names are also looked up in the instantiation context, via argument-dependent lookup.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1207014"> </a>Value-initialization is implemented. This form of initialization (added in TC1) is indicated by an initializer of "<font size=2 face=Courier><strong>()</strong></font>" and causes zeroing of certain POD-typed members, where the usual default-initialization would leave them uninitialized.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1207015"> </a>A partial specialization of a class member template cannot be added outside of the class definition.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1207016"> </a>Qualification conversions may be performed as part of the template argument deduction process.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1207017"> </a>The <font size=2 face=Courier><strong>export</strong></font> keyword for templates is implemented.</font></p>
</ul>
</blockquote>
<hr>
<table width="331" border="0" align="left" cellpadding="0" cellspacing="0">
<tr>
<td><a href="a_refman.htm"><img src="images/navtoc.gif" width="84" height="23"
border="0" alt="TOC"> </a></td>
<td><a href="edglang2.htm"><img src="images/navprev.gif" width="80" height="23"
border="0" alt="PREV"> </a></td>
<td><a href="edglang4.htm"><img src="images/navnext.gif" width="83" height="23"
border="0" alt="NEXT"> </a></td>
<td><a href="a_refmaa.htm"><img src="images/navidx.gif" width="84" height="23"
border="0" alt="INDEX"> </a></td>
</tr>
</table>
<font size=1 face="Verdana, Arial, Helvetica, sans-serif"> © 2001, 2002, 2003 STMicroelectronics. All Rights Reserved.<br>
ADCS 7250966F</font>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -