C++ 教程
C++ 是一种中级语言,由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言。C++ 可运行于多种平台上,如 Windows、MAC 操作系统以及 UNIX 的各种版本。
通俗易懂的讲解 C++ 编程语言
谁适合阅读本文?
专门为初学者打造的,帮助理解与 C++ 编程语言相关的基础到高级的概念
阅读本文前,您需要了解的知识:
在您开始练习本文中所给出的各种实例之前,您需要对计算机程序和计算机程序设计语言有基本的了解。
编译/执行 C++ 程序
实例
运行实例 »
你可以用 "\n" 代替以上代码里的 endl
VS code 编辑器
VS code 可以做什么
vs code是编写现代Web和云应用的跨平台源代码编辑器
可在桌面上运行 可用于Windows macOS和Linux
对JavaScript TypeScript和Node.js的内置支持 并具有丰富的其他语言和运行时扩展的生态系统
VSCRD从本质上改善了远程开发的体验 与常用的远程桌面共享相比
具体改进
响应迅速:VSCRD所有的交互都在本地UI内完成
响应迅速;远程桌面由于传输的是截屏画面 数据往返延迟很大 卡顿是常态
沿用本地设置:VSCRD的UI运行在本地 遵从所有本地设置 所以依然可以使用自己所习惯的快捷键 布局 字体 避免了工作效率层面的开销
数据传输开销小:远程桌面传输的是视频数据 而VS Code传输是操作请求和响应 开销与命令行相仿 卡顿的情况进一步改善
第三方插件可用:在远程工作区里 不仅VS Code的原生功能可用 所有第三方插件的功能依然可用
远程文件系统可用:远程文件系统被完整映射到本地 这个两者差不多
1.编写 markdown
VS code 非常好用的Markdown编写工具 如公众号文章
相关插件
Markdown
Markdown Preview Enhanced
Markdown All in One
2.编写python
VS code的使用门槛低
相关插件
Python
Python for VSCode
Python-autopep8
3.管理git项目
git管理你的项目 VS Code 天生就集成了项目版本管理
可以非常方便的几步操作完成代码的比对和提交 不需要命令或借助其他工具
相关插件:
Git History
4.画流程图
作为一个德智体美劳全面发展的测试员 怎么能不会画流程图呢
插件
Draw.io Integration
解决VScode下载太慢的问题
VScode官方网站 //code.visualstudio.com/
根据个人的需求选择下载 页面加载下载需要等一会 下载太慢
解决办法 复制下载地址 打开浏览器 新建下载 将下载地址中的
az764295.vo.msecnd.net
更换为
vscode.cdn.azure.cn
形如 //vscode.cdn.azure.cn/stable/4af164ea3a06f701fe3e89a2bcbb421d2026b68f/VSCodeUserSetup-x64-1.68.0.exe
使用国内的镜像服务器加速就好了
文人墨客
cout 流速度较慢,如果速度过慢可以用 <stdio.h> 库中的 printf() 格式化输出函数,不需要 using namespace std;。
它的格式为:
程序实例:
注意:printf() 中不能使用 endl!
文人墨客
包含头文件 stdlib.h,并在主程序中加入 system("pause"); 可以在程序运行完以后使黑框暂停显示,等待输入,而不是闪退。
文人墨客
真正的开发过程中, 尽量避免使用 using namespace std; 等直接引入整个命名空间,否则会因为命名空间污染导致很多不必要的问题, 比如自己写的某个函数,名称正好和 std 中的一样, 编译器会不知道使用哪一个, 引起编译报错, 建议使用:
等直接由命名空间组合起来的全称。
文人墨客
如果想显示多行文本,如下:
不用一直这样 cout 多行插入。
文人墨客
"\n" 表示一个字符串,只有一个数据是回车符。
'\n' 表示一个字符。
这两个在输出上是一样的!
关于 endl:
1、在 C++ 中,终端输出换行时,用 cout<<......<<endl 与 "\n" 都可以,这是初级的认识。但二者有小小的区别,用 endl 时会刷新缓冲区,使得栈中的东西刷新一次,但用 "\n" 不会刷新,它只会换行,盏内数据没有变化。但一般情况,二者的这点区别是很小的,在大的程序中可能会用到。建议用 endl 来换行。
2、endl 除了写 '\n' 进外,还调用 flush 函数,刷新缓冲区,把缓冲区里的数据写入文件或屏幕.考虑效率就用 '\n'。
3、cout *lt;< endl; 除了往输出流中插入一个 '\n' 还有刷新输出流的作用。
在没有必要刷新输出流的时候应尽量使用 cout << '\n', 过多的 endl 是影响程序执行效率低下的因素之一。
文人墨客
<> 先去系统目录中找头文件,如果没有在到当前目录下找。所以像标准的头文件 stdio.h、stdlib.h 等用这个方法。
" " 首先在当前目录下寻找,如果找不到,再到系统目录中寻找。 这个用于 include 自定义的头文件,让系统优先使用当前目录中定义的。
文人墨客
.h 中存放类的声明,函数原型(放在类的声明中)。
.cpp 存放函数体。
也就是说,一个存放声明(declaration),一个存放定义(definition)。
如果我们在一个头文件里声明了一个函数,当我们需要定义这个函数(这个定义是唯一的,也就是只能定义一次),或者需要使用这个函数时,我们在 cpp 中需要 include 这个头文件。
同样地,如果我们在一个头文件里声明了一个类,当我们需要定义类里的成员函数,或者我们需要使用这个类时,我们在 cpp 中需要 include 这个头文件。
对于类的设计者来说,头文件就像他们和类的使用者的一个合同,编译器会强化这一合同,它会要求你在使用这些类里的函数或结构时必须要声明。
文人墨客
C++中 "\n" 与 endl 的区别是什么?
"\n" 表示内容为一个回车符的字符串。std::endl 是流操作子,输出的作用和输出 "\n" 类似,但可能略有区别。
std::endl 输出一个换行符,并立即刷新缓冲区。
例如:
相当于:
由于流操作符 << 的重载,对于 '\n' 和 "\n",输出效果相同。
对于有输出缓冲的流(例如cout、clog),如果不手动进行缓冲区刷新操作,将在缓冲区满后自动刷新输出。不过对于 cout 来说(相对于文件输出流等),缓冲一般体现得并不明显。但是必要情况下使用 endl 代替 '\n' 一般是个好习惯。
对于无缓冲的流(例如标准错误输出流cerr),刷新是不必要的,可以直接使用 '\n'。