首页 技术 正文
技术 2022年11月21日
0 收藏 493 点赞 3,651 浏览 1510 个字

使用除法的注意事项

double b = 4.0 * 1/239.0;

因为整数相除结果取整,如果参数写1/239,结果就都是0

浮点数注意事项

浮点数是近似存储,所以不能直接比较两个浮点数的大小,

可以比较差值小于10的多少负多少次方.

逗号运算符

a=3 * 5,a * 4;

先计算左边,后计算右边,结果返回右边,a=60.

sizeof

sizeof(类型名)

sizeof 表达式

计算所占字节数


位操作

& :某些位置0 或者 取出制定位;
| :某些位置1;
^ :特定位翻转;
<< :低位补0,高位舍弃;
>> :低位舍弃,无符号高位补0,有符号高位补符号位

循环

do-while :与while的差别在于“至少执行一次”;
break :从循环体或switch语句中跳出;
continue :结束此次循环,判断是否进行下一次循环;

自定义类型

为已有类型另外命名

1.
typedef double Number;
Number i;typedef int sum;
sum x;
2.
using Number=double;
using sum=int;

枚举类型

enum weekday={sunday=7,monday=1,tuesday,wednesday,thursday,friday,saturday};

auto类型

编译器通过初始值自动推断变量的类型
auto val = val1 + val2;
如果 val1+val2 是 int 类型,则 val 是 int 类型;

deltype类型

定义一个变量与某一表达式的类型相同,但并不用该表达式初始化变量
例如:decltype(i) j = 2;
j的值为2,但是和i类型相同

函数的调用

若函数定义在调用点之前,可以不另外声明;

若函数定义在调用点之后,必须要在调用函数前声明函数原型:

函数递归

将参数为n的问题拆解为n-1的问题,依次往下拆解,到简单的求解步骤递归结束,依次返回进行计算,最终得出结果。

引用

return只能返回一个值,当需要查看多个值的时候可以用引用。

1.定义时发生绑定,且生存周期中只能绑定一个变量;

2.引用不是对象,不在程序中不占用内存空间,没有地址,无法被指针找到

就像是目前在追的小说《剑来》中上五境大佬的分身,本尊端坐云端,分身下界经历一些事情,消散后本尊可以收获下界历练所经过的一切,且分身本身不占据一份新的气运。

含有可变参数的函数

initializer_list <类型名> lst;

必须同类型,C++11标准新加的;

用到再说。

内联函数

编译时在调用处用函数体进行替换,不走“调用子函数再返回调用点”这样相对开销较大的流程,节省了参数传递、控制转移等开销。

inline声明只是一个对编译器的建议,好的编译器自己有优化功能,不一定采纳。
p.s.内联函数体内不能有循环语句和 switch 语句;

带默认参数值的函数

特点:可以预先设置默认的参数值,调用时如给出实参,则采用实参值,否则采用预先设置的默认参数值。

在何处写默认值

1.函数体定义在调用之后,或者在另一个文件中,则需要把默认参数写在声明中,而函数体定义中不能再写;

2.函数体定义在调用之前,则不需要声明,直接在定义中的形参列表中写就可以了;

有默认参数的形参必须列在形参列表的最右

int add(int x, int y = 5, int z = 6);//正确
int add(int x = 1, int y = 5, int z);//错误

函数重载

作用:可以用同一个函数名来处理参数不同的同一类运算;

要求:形参必须不同,个数不同或类型不同

与返回值类型无关

幕间:VS 2013 Debugger

F10:step over是逐过程,不看调用细节;

F11:step into是逐语句,可以查看调用函数内部;

ctrl+F10:run to cursor运行到光标处,也可以右键寻找;

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,077
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,552
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,401
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,176
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,813
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,896