本章关键内容:
说明:计算器的程序真的看不明白,所有与计算器相关的内容、习题都忽略,待后续看明白了单独补充。
命令行参数
命令行参数是使用 main() 函数参数来处理的,其中,argc 是指传入参数的个数,argv[] 是一个指针数组。命令行参数都是字符串,所以argv的类型是char* [argc+1]。该程序的名字也作为argv[0]传进来,所以argc的值至少是1。这个参数的表总以0结束,也就是说,argv[argc]==0。
运算符
一元运算符和赋值运算符是右结合的,其他运算符都是左结合的。
增量与减量:y=++x-->y=(x+=1) vs y=x++-->y=(t=x,x+=1,t)
自由存储:new/delete、new[]/delete[]
显式类型转换:尽量不要使用,所以不明白也就先这样了,涉及如下四个关键字
static_cast、reinterpret_cast、dynamic_cast、const_cast
构造函数:从值e构造出一个类型T的值可以用函数记法T(e)表述(对于内部类型而言T(e)等价于(T)e),T()用于描述类型T的默认值。
参考:C++中运算符总结
语句概览:语句语法如下,从逻辑上来讲,程序就是声明、循环、判断、异常处理四种语法
statement:
declaration
{statement_listopt}
try{statement_listop} handler_list
expressionopt;
if (condition) statement
if (condition) statement else statement
switch(condition) statement
while(condition) statement
do statement while (condition)
for (for-init-statement conditionopt; expressionopt) statement
case constant-expressionopt : statement
default : statement
break ;
continue ;
return expressionopt ;
goto identifier ;
identifier : statement
statement_list:
statement statement_listopt
condition:
expreesion
type-specifier declaratory = expression
handle-list:
catch (exception-declaration ) { statement_listopt }
handle-list handle-listopt
Note1:条件中经常if(x)替代if(x!=0)
Note2: 运算符&&和||除了必要时,是不会对其第二个运算对象求值的,如if(p&&1<p->cout),只有p非0的时候才去计算1<p->cout的值