前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++primer学习笔记(二)

C++primer学习笔记(二)

作者头像
震八方紫面昆仑侠
发布2020-07-23 14:47:26
4090
发布2020-07-23 14:47:26
举报
文章被收录于专栏:MySQL从删库到跑路

1 使用数组初始化vector:int int_arr[arr_size] = {0,1,2,3}; vector<int> ivec(int_arr, int_arr+arr_size); 2 int ival; int *pval; ival = pval = 0; 错误,pval = 0 返回的是指针,无法赋值给int。 3 ++i i++ 前置时返回自增后的值,后置时返回值后自增。前置性能好于后置。 4 逗号表达式的结果是其最右边表达式的值。 5 if(ia[index++]<ia[index])这个表达式没有明确的计算顺序。除了 && || ?::外其他操作数没有规定计算顺序。不应该使用这种表达式,结果无法确定。 6 int val = 3.24+3;表达式先转换为高精度,再转换为左值类型。int *ip; ip=0;隐式转换0为空指针。 7 包含signed和unsigned int的表达式会被转换成unsigned,如果为负数会有问题。 8 数组名用做sizeof或取地址&的操作数时不被当做指针。sizeof计算栈中分配大小,静态变量在全局数据区不计算在内。 9 const_cast添加或删除const特性。 10 空语句: ; 11 switch case break的判断表达式必须为整数值。case从匹配的开始执行直到结束,而不是只执行匹配的。 12 do{此处定义的变量循环条件中不可见}while(...) 13 throw 类型 每一个标准库异常类都有what()函数返回C风格用户输入的字符串。如果不存在catch语句,程序默认执行terminate的标准库函数。 14 预处理器定义的调试用的常量:__FILE__ __LINE__ __TIME__ __DATE__【打印时间和日期很常用】 15 assert宏用来检查不可能发生的条件。 16 函数实参如果和定义类型不一致,但可被转换成定义类型,那么也可以使用。 17 如果需要保护指针指向的值,形参需要定义为指向const的指针。应将不修改实参的形参定义为const引用,好处是可以传递字符串字面值(和产生右值的表达式),非const引用反而不灵活。 18 如果形参是引用,那么他只是实参的别名。int *&v v是引用,是某个指向int的指针的别名。 19 fun(int*) fun(int[]) fun(int[10])等价,但10其实没有任何用处。如果定义为fun(int (&arr)[10]),此时会检查参数是否有10个。 20 C风格字符串以NULL结尾是为了标识结束防止越界

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MySQL从删库到跑路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档