IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C++入门篇(命名空间和C++中输出输入的介绍) -> 正文阅读

[C++知识库]C++入门篇(命名空间和C++中输出输入的介绍)

??个人主页:欢迎大家光临——>沙漠下的胡杨

? 各位大帅哥,大漂亮

?如果觉得文章对自己有帮助

?可以一键三连支持博主

?你的每一分关心都是我坚持的动力

?

??: 本期重点:C++中我们基础的一些知识点总结

??希望大家每天都心情愉悦的学习工作。?


??: 本期重点:C++中我们基础的一些知识点

C++的第一个程序:

C++的命名空间:

命名空间是什么?

为什么要有命名空间呢?

怎么创建命名空间呢?

不同文件下的同一个命名空间问题:

命名空间的使用:

C++的输入输出


?

C++的第一个程序:

#include<iostream>

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/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++"<<endl;
    return 0;
}

2. 正常情况下,我们只需要把部分常用的东西从标准库中引入到作用域中。

? ? ? 例如:using? std :: cout? ?using std :: endl? ?这两局代码实际上就是把 std 中的cout和endl引入全局域中,我们也可以直接使用了。(常用,比较推荐)

?

using? std :: cout;
using  std :: endl;

int main ()
{
    cout<< "hello C++"<<endl;
    return 0;
}

3. 最为标准的用法是,采用命名空间 + 域作用限定符。?

? ? ?例如:std :: cout,? std::endl? ?(使用比较麻烦)

namespace HuYang
{
    int a = 10;
}

int main ()
{
    std::cout << HuYang::a<<std::endl;
    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;
}

?

今天就到这里结束啦!

?

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-07-20 18:34:21  更:2022-07-20 18:36:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/13 1:06:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码