每天学习一点C++之一
来源:互联网 发布:php编写软件 编辑:程序博客网 时间:2024/06/17 04:32
·文章原创,转载请说明出处,联系信箱623730587@qq.com一、c++中的bool类型
1 c语言中要使用bool类型,必须添加头文件<stdbool.h>,而c++中不需要导入头文件。
2 bool类型的变量可以和整数做运算。
3 bool类型在用作判断条件的时候,千万不要出现==的运算符,这是程序界的笑话,因为bool本身就表示真假。
4 c++中的bool类型的输出为0,或者1,如果想以true或者false的形式输出,那么得这样输出。但是有些机器不识 别这种写法。例如:
bool a = false ;
cout << boolalpha << a << endl;二、c++中的符号替换(最好少用,因为这是为了照顾欧洲一些国家的键盘提出来的,这里只列出三条) 1 c语言中表达逻辑与用&&,c++中还可以用and来替换。 2 c语言中表达逻辑或用||,c++中还可以用or来替换。 3 c语言中的位与(&),C++中还可以用bitand。三、c++中的函数重载 1 在同一作用域中,函数名相同,参数列表不同的函数构成重载。比如,在同一作用域里面有如下函数 show(int a); show(double b); show(int a , double b); show(double b, int a); 以上函数均构成重载。 2 c++之所以提出重载的概念,其作用有二,方便函数调用和减少函数名的个数。这种作用看似不起眼, 但是在实际开发中却有着巨大的作用。 3 重载之所以在c++能够实现,是因为编译器在编译的时候,会综合参数列表来生成函数名,所以才会生成不 同的函数名,所以在最终调用的时候,调用的是不同的函数。而c语言的编译器不会考虑参数列表,如函数重名, 则报错。在linux环境下,可以使用g++ -c 的方式生成.o文件,用nm命令查看.o文件,就可以发现其中的函数名综 合了参数列表类型的首字母。或者使用gcc -S的命令生成汇编查看,都可看到生成的函数名。 4 函数指针的概念,有如下函数 double add(double x,double y); 去掉函数名,就是函数的类型,即函数add的类型为 double (double x,double y);变量也是一样,可以类比 要定义函数的指针,自然要用函数的类型加上指针运算符,和函数指针名即可,即 double (*padd)(double x,double y); 5 函数重载引入的问题 由于c++程序也可能调用c函数,但是c++生成的函数名还综合了参数列表的信息,而c语言编译生成的函数名 并不包含参数列表信息,那就造成了跨编译器调用的问题。四、下篇详解跨编译器的问题。
0 0
- 每天学习一点C++之一
- 每天坚持学习一点C~~~
- 每天学习一点,进步一点!
- 英语学习每天一点
- 每天学习记录一点
- C++学习笔记(每天学一点C++)
- 4.19+每天一点C+技术学习+明日任务
- 【每天一点Linux】shell脚本的学习之一——符号
- 每天一点C#(一)
- 每天一点C#(二)
- 每天学习一个知识点,每天进步一点
- 每天进步一点--学习 lslpp
- 每天一点java学习-start
- 每天学习一点string.h
- 每天学习一点新东西
- 每天一点C语言--竖式问题
- 每天多学习一点,再多学习一点
- 每天学习一点——Android
- 【算法】一个比系统自带的sqrt函数快四倍的sqrt
- 第十一周项目六 回文、素数——反序数
- iPhone的UDID与push中使用的device token的关系
- uva 10986(最短路径)
- IBM探索推荐引擎——资源汇总
- 每天学习一点C++之一
- 菜鸟nginx源码剖析数据结构篇(六) 哈希表 ngx_hash_t(上)
- 快速排序Java实现
- java数据类型
- 《unix高级环境编程》进程控制——进程时间
- lucene之 MMAnalyzer 中文分词组件
- OpenCV——高斯模糊与毛玻璃特效
- WEB服务器端口更改后Wordpress访问自动跳转老端口
- 菜鸟nginx源码剖析数据结构篇(七) 哈希表 ngx_hash_t(下)