C++融合了三种不同的编程方式
- C代表的过程性语言
- 在C基础上添加的类、结构体puls代表的面向对象语言
- C++模板支持泛型编程
C++完全兼容C的特性
Tips:侯捷老师提倡的Modren C++是指C++11、C++14、C++17和C++20这些新标准所引入的一系列新特性和改进。在我们练习的时候也应当去使用C++11的语法。
在C++11中头文件是这个样子
#include
替代了在C中我们经常使用的
#include <stdio.h>
如果需要使用标准C中的库,可以这样:
#include <cstdio>
跟C一样
int main(){
return 0;
}
命名空间主要是解决在大型项目中,函数,变量名冲突的问题
如下图所示,如果没有命名空间,命名相同的变量和函数,是会冲突的,而命名空间就好像一个隔离容器,如果要使用A中的sort函数只需,A::sort();即可。
这里的 :: 是叫域作用操作符
看个代码:
- #include
- namespace yy{
- int a=0;
- int big(int a,int b){
- return a>b?a:b;
- }
- }
- int main(){
- std::cout<
- std::cout<
big(30,17)< - return 0;
- }
按照上面的理解,你一定已经知道yy::a 和 yy::big(30,17)的意思了,
但是对于std::cout<< <,一定会不知所云。
回忆C语言中,一个程序只要运行就会创建的三个流:
- stdin - 标准输入流(键盘)
- stdout - 标准输出流(屏幕)
- stderr - 标准错误流(屏幕)
而这里std::cout,你或许已经猜到了,std是个命名空间,cout应该是定义在std里面的一个东西。
事实上,std是C++的标准命名空间,C++标准程序库中的所有标识符都被定义在std中
而cout就是C++的标准输出流
你可以把<<理解为流动方向,把yy::a的值流向标准输出流,也就是在屏幕中打印出来,而<
简而言之, std::cout<。
此时,你会觉得,打印一个东西这么麻烦,还要打这么多字符,
其实,可以简化成这样。
cout<
只需在你主函数之前声明你要使用这个命名空间,有两种实现方式,推荐第一种。
-
- using std::cout
- using std::endl
-
using namespace std
注:
- 命名空间只能全局范围内定义
- 命名空间可以嵌套定义
-
相关阅读:
订单服务-----功能实现逻辑
静态语言和动态语言的区别
【历史上的今天】12 月 6 日:微波炉问世;多媒体格式 Mkv 诞生;日立环球存储科技公司成立
PDF被限制会出现什么情况?
通信原理学习笔记5-2:数字调制——连续相位和恒包络问题(非线性功放、连续相位CP FSK信号、最小频移键控MSK、GMSK)
Docker 【Nginx集群部署】
大数据必学Java基础(四十八):包装类和日期类的讲解
ChatGPT DAN 模式
Excel-VBA 快速上手(三、数组和字典)
LVS-DR模式
-
原文地址:https://blog.csdn.net/weixin_56821642/article/details/133563074