C++ How To Program整理(2)

第三章

浮点数的格式化:注意要加入头文件<iomanip>,setprecision(n)限定小数位数,fixed相对科学技术法而言的,以定点格式输出,showpoint也以定点格式输出,不过不会补零,sef(ios_base::showpoint),setw(n),设置域宽,默认右对齐,想左对齐的时候只需要加无参数的流运算符left(right可恢复)

强制转换:在这一章中使用static_cast<double>(number),生成一个浮点格式的副本,不影响原数值。

@计算指数的时候可以使用pow(x,n),x的n次方,注意要加入<cmath>

@cin.get()返回一个字符。EOF,windows为ctrl+z,一般取值为-1

@switch中最好提供default选项,标签不需要{},有个操蛋的家伙说在case标签里面定义变量等需要括号,因为无法分清在哪个模块,但是这丫忘记了本身switch就有大括号,所以在里面定义的变量属于switch模块。

@continue在for语句中先执行增值表达式,后判断循环继续条件,而在while,do。。while中立即进行循环测试,不增值。

@只有函数中的局部变量可以是自动存储类别,存储类别中的register只能与局部变量和函数形参一起使用。

@枚举是以标志符表示常量的一种方法,枚举中的标志符必须是唯一的,但是不同的枚举常量可以取相同的值。

函数原型:提供函数原型的作用(1)检查调用错误(2)避免按照函数定义的顺序来使用函数,否则就需要在定义函数体之后再使用

函数原型的重要特性之一:可以进行实参类型强制转换

@extern和static用于给静态存储类别的变量和函数声明标志符,静态存储类别的变量从程序开始执行时存在,直到程序结束,注意存储类别和作用域的区别。

@有两种类型的静态存储类别说明符:外部标志符(如全局变量和全局函数名),static声明的局部变量。

@标签是唯一具有函数作用域的标志符。

@static变量只能初始化一次

            for (int i =1;i<5; ++i)
                  {
                      static int a = i;
                      cout << a <<endl;
                  }
                 输出都是1

@内联函数可以减小调用开销,对内联函数的修改都要求所有调用它的部分重新编译,这是缺点,inline应该只是用于小的,经常使用的函数,使用内联函数可以减少执行时间,但会增加程序长度。

@内联函数与宏定义的区别:

      『

                1.内联函数在运行时可调试,而宏定义不可以;

                2.编译器会对内联函数的参数类型做安全检查或自动类型转换(同普通函数),而宏定义则不会;
                3.内联函数可以访问类的成员变量,宏定义则不能;
                4.在类中声明同时定义的成员函数,自动转化为内联函数。

       』

@当有大量数据要处理时,按值传递效率较低,按引用传递要注意数据的安全性。

@引用变量必须在声明处初始化。

@函数可以返回引用,但是注意局部变量在函数结束时会销毁,所以返回非staitic的局部变量将产生错误。

@默认实参必须是函数形参列表中最靠右的形参,默认实参应该在函数名第一次出现时被指定,默认值可以是任何表达式,包括常量,全局变量或者函数调用等。

         void func(int arg=1,int arg2=2,int arg3=3);

 

MD,端午节放假了

 

 MD睡了3天,醉生梦死又回来上班了

 

@使用一元作用域分辨运算符,在局部变量和全局变量名字相同时,可以访问全局变量“::”,注意:只是访问全局变量,而不是同一函数中名字相同的外层变量.

@函数重载,函数名字相同,但是函数形参的数目,类型,顺序只要有一个不同就行,编译器通过函数的签名来区分函数,所谓签名就是指函数名字和形参,与返回类型没毛关系。

@所有的函数模板都以template开头,“<>”包含的形参列表,模板形参列表中的每个形参由typename或class开始。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值