【C++】入门 --- 命名空间(二)

简介: 【C++】入门 --- 命名空间(二)

🍩2、命名空间的使用

🔴作用域限定符 ::

在一般情况下,若是想访问命名空间内的成员,可以使用 作用域限定符 ::(域解析操作符)

我们可以看这么一段代码,无法执行,因为没有使用 作用域限定符 ::

🐸命名空间的三种使用方式:

1️⃣加命名空间名称及作用域限定符 ::

被嵌套命名空间中内容的访问:

2️⃣使用using将命名空间中某个成员引入:

解除N1、N2命名空间对b、d的作用域的限制

3️⃣使用using namespace +命名空间名称: 解除相应命名空间对其中所有内容的作用域限制

第3️⃣种用法相当于是取消相应的命名空间,对待这种使用方式应持谨慎态度(尤其是在大项目中),建议使用的访问命名空间内容的方1️⃣2️⃣种。

🍪四、C++输入&输出

#include<iostream>
// std是C++标准库的命名空间名,C++将标准库的定义实现都放到这个命名空间中
using namespace std;
int main()
{
  cout << "Hello world!!!" << endl;
  return 0;
}

🔴说明:

🚩1. 使用cout标准输出对象(控制台)和cin标准输入对象(键盘)时,必须包含 < iostream > 头文件

以及按命名空间使用方法使用std。

🚩2. cout和cin是全局的流对象,endl是特殊的C++符号,表示换行输出,他们都包含在包含 < iostream > 头文件中。

🚩3. <<是流插入运算符,>>是流提取运算符。

🚩4. 使用C++输入输出更方便,不需要像printf/scanf输入输出时那样,需要手动控制格式。

C++的输入输出可以自动识别变量类型。

🚩5. 实际上cout和cin分别是ostream和istream类型的对象,>>和<<也涉及运算符重载等知识,

这些知识我们我们后续才会学习,所以我们这里只是简单学习他们的使用。后面我们还有有

一个章节更深入的学习IO流用法及原理。

🦄可以自动识别变量的类型:

🥰请看代码与注释👇

#include <iostream>
using namespace std;
int main()
{
  int a;
  double b;
  char c;
  // 可以自动识别变量的类型
  cin >> a;
  cin >> b >> c;
  cout << endl;
  cout << a << endl;
  cout << b << " " << c << endl;
  return 0;
}

🦄std命名空间的使用惯例:

std是C++标准库的命名空间,如何展开std使用更合理呢?

🚩1. 在日常练习中,建议直接using namespace std即可,这样就很方便。
🚩2. using namespace std展开,标准库就全部暴露出来了,如果我们定义跟库重名的类型/对象/函数,就存在冲突问题。该问题在日常练习中很少出现,但是项目开发中代码较多、规模大,就很容易出现。所以建议在项目开发中使用,像std::cout这样使用时指定命名空间 +using std::cout展开常用的库对象/类型等方式。

😍这期内容比较好理解,希望烙铁们有所收获哦!

总结🥰
以上就是 【C++】命名空间 的全部内容啦🥳🥳🥳🥳
本文章所在【C++初阶】专栏,感兴趣的烙铁可以订阅本专栏哦🥳🥳🥳
前途很远,也很暗,但是不要怕,不怕的人面前才有路。💕💕💕
小的会继续学习,继续努力带来更好的作品😊😊😊
创作写文不易,还多请各位大佬uu们多多支持哦🥰🥰🥰

目录
相关文章
|
1月前
|
编译器 C++
C++入门12——详解多态1
C++入门12——详解多态1
38 2
C++入门12——详解多态1
|
1月前
|
C++
C++入门13——详解多态2
C++入门13——详解多态2
79 1
|
1月前
|
存储 安全 编译器
【C++打怪之路Lv1】-- 入门二级
【C++打怪之路Lv1】-- 入门二级
23 0
|
1月前
|
自然语言处理 编译器 C语言
【C++打怪之路Lv1】-- C++开篇(入门)
【C++打怪之路Lv1】-- C++开篇(入门)
24 0
|
1月前
|
分布式计算 Java 编译器
【C++入门(下)】—— 我与C++的不解之缘(二)
【C++入门(下)】—— 我与C++的不解之缘(二)
|
1月前
|
编译器 Linux C语言
【C++入门(上)】—— 我与C++的不解之缘(一)
【C++入门(上)】—— 我与C++的不解之缘(一)
|
1月前
|
编译器 C++
C++入门11——详解C++继承(菱形继承与虚拟继承)-2
C++入门11——详解C++继承(菱形继承与虚拟继承)-2
29 0
|
1月前
|
程序员 C++
C++入门11——详解C++继承(菱形继承与虚拟继承)-1
C++入门11——详解C++继承(菱形继承与虚拟继承)-1
32 0
|
1月前
|
存储 算法 C++
C++入门10——stack与queue的使用
C++入门10——stack与queue的使用
40 0
|
1月前
|
存储 C++ 容器
C++入门9——list的使用
C++入门9——list的使用
18 0