个人主页:欢迎大家光临——>沙漠下的胡杨
各位大帅哥,大漂亮
如果觉得文章对自己有帮助
可以一键三连支持博主
你的每一分关心都是我坚持的动力
☄: 本期重点:C++中我们基础的一些知识点总结
希望大家每天都心情愉悦的学习工作。
#include int main() { std::cout << "hello world" << std::endl; return 0; }我们第一个C++程序已经写好了,但是我们有很多疑惑的地方?
比如上面的包含的库,为什么没有 .h 了呢?为什么我们输出时要用 std::cout << "hello world"<< std::endl,这个和C语言的东西不太一样啦?带着这些疑惑我们进入下面的学习中,来得到答案吧!
C++中我们使用C++的库就不需要以.h结尾了,为了和C语言作区分。因为我们C++是兼容C语言的,C语言的库我们以 .h 结尾。
命名空间是什么?
简单来说,就是一个域,像是全局域,局部域一样的一个域,我们创建了一个命名空间,就是创建一个域,在域中我们可以创建变量,函数,和类型。在域中创建的所有东西,都属于这个命名空间域。
为什么要有命名空间呢?
在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。
怎么创建命名空间呢?
我们要是用关键字namespace + 命名空间的名字,我们可以在命名空间中存放变量,函数,类型和另一个命名空间。如下:
namespace HuYang { int a = 0; char b = '0'; int Add(int x, int y) { return x + y; } struct ListNode { struct ListNode* next; int val; }; namespace Shuxia { double c = 1.102; char a[100] = { 0 }; int Sub(int m, int n) { return m - n; } } }不同文件下的同一个命名空间问题:
在不同文件下的名字相同的命名空间。会合并在一起,例如我们在test.c中创建一个命名空间叫做HuYang ,在test.h中也创建一个命名空间,名字也叫作HuYang,那么最后编译的过程中,这两个名字一样的命名空间会合并为一个命名空间。
命名空间的使用:
我们使用命名空间的方法一般有三种:
1.我们直接把命名空间的内容全部展开,然后我们就可以直接使用啦。
例如:using namespace std ,首先 std 是我们C++标准库,包含我们C++官方的内容,例如cout等等,我们直接使用这种方法相当于直接把 std 库中的所有东西展开到了全局域,这样我们在定义时就比较麻烦,可能会定义变量或者函数和库中的冲突。(不推荐)
using namespace std; int main () { cout<< "hello C++"< return 0; }2. 正常情况下,我们只需要把部分常用的东西从标准库中引入到作用域中。
例如:using std :: cout using std :: endl 这两局代码实际上就是把 std 中的cout和endl引入全局域中,我们也可以直接使用了。(常用,比较推荐)
using std :: cout; using std :: endl; int main () { cout<< "hello C++"< return 0; }3. 最为标准的用法是,采用命名空间 + 域作用限定符。
例如:std :: cout, std::endl (使用比较麻烦)
namespace HuYang { int a = 10; } int main () { std::cout << HuYang::a< return 0; }C++的输入输出
C++的输入是cin ,输出是cout,我们发现 cout 和 printf 函数有点不同,这个 cout 好像我们没有给他格式,比如上面,我们没有说要按照字符串输出,但是它依然能够输出“hello world”这个字符串,为什么呢?那么cin是不是也不需要我们给他格式或者类型呢?
下面的是对C++输入输出的介绍:
1. 使用cout标准输出对象(控制台)和cin标准输入对象(键盘)时,必须包含< iostream >头文件以及按命名空间使用方法使用std。
2. cout和cin是全局的流对象,endl是特殊的C++符号,表示换行输出,他们都包含在包含< iostream >头文件中。
3. <<是流插入运算符,>>是流提取运算符。
4. 使用C++输入输出更方便,不需要像printf/scanf输入输出时那样,需要手动控制格式,C++的输入输出可以自动识别变量类型。
5. 实际上cout和cin分别是ostream和istream类型的对象,>>和<<也涉及运算符重载等知识,这些知识我们我们后续才会学习。
总的来说,我们现在还对这些知识很陌生,随着后面的学习我们才会有更多的理解,但是我们今天知道,在C++中输入输出都可以自动识别类型,不需要我们进行传递格式了。
例:
int main() { int a; char b; double c; std::cin >> a; std::cin >> b; std::cin >> c; std::cout << a << std::endl; std::cout << b << std::endl; std::cout << c << std::endl; return 0; }
今天就到这里结束啦!
- 相关阅读:
电气滑环更换原因分析
Mysql 中的性能调优方法
C# 中什么是重写(子类改写父类方法)
python多进程使用
A Guide to Java HashMap
Java ”框架 = 注解 + 反射 + 设计模式“ 之 注解详解
SpringBoot集成Session详解
SQL语言(一)数据查询
大龄程序员如何面对“中年危机”?这份书单或许能帮到你
LeetCode 2354. 优质数对的数目 二进制01表示和集合之间的转换
- 原文地址:https://blog.csdn.net/m0_64770095/article/details/125834614