当前位置 : 主页 > 编程语言 > c语言 >

C++基础入门

来源:互联网 收集:自由互联 发布时间:2023-09-03
目录 1.命名空间 a.命名空间定义 (1)、 域作用限定符 (2)、域访问顺序 2.C++的输入输出 1.命名空间 1.C语言存在命名冲突的问题,库之间的冲突 2.我们互相之间的冲突 编辑 a.命名空间定

目录

1.命名空间

        a.命名空间定义

               (1)、 域作用限定符

             (2)、域访问顺序

2.C++的输入&&输出


1.命名空间

       1.C语言存在命名冲突的问题,库之间的冲突

       2.我们互相之间的冲突

C++基础入门_ios

C++基础入门_C++_02编辑

C++基础入门_头文件_03

        a.命名空间定义

                

//域
namespace YanYingjie
{
    int rand = 0;
}

               (1)、 域作用限定符

                ::域作用限定符,修改了其访问顺序,使得其不访问局部域,直接访问全局域

int a = 0;
int main()
{
	int a = 1;
	printf("%d\n",a);

	printf("%d",::a);
	return 0;
}

C++基础入门_ios_04

C++基础入门_头文件_05

               (2)、域访问顺序

                        访问顺序:局部域->全局域->命名空间域

                        访问命名空间域的前提:

                                ①、展开命名空间域

                                        展开命名空间域之后,命名空间域相当于暴露在全局,此时,命名空间域

变成了全局变量,如果同时访问命名空间域和全局变量则直接报错,展开意味着,是否去命名空间

内部进行搜索

using namespace yqy;

                                ②、指定访问命名空间域

int a = 0;

namespace yqy
{
	int a = 2;
}
int main()
{
	//int a = 1;
	printf("%d\n",a);

	printf("%d",yqy::a);
	return 0;
}

        namespace之间可以互相嵌套

        

namespace N1
{
	int a = 0;
	int b;
	int c;
	int Add(int left,int right)
	{
		return left + right;
	}
	namespace N2
	{
		int a = 1;
		int b;
		int c;
		int Add(int left, int right)
		{
			return left + right;
		}
	}
}

int main()
{
	int left = 1;
	int right = 2;
	printf("%d",N1::Add(left,right));
	return 0;
}

C++基础入门_头文件_06

        问题:

                为什么头文件没有.h

//头文件,又称io流
#include<iostream>
//为什么不加.h
//早些年时候,确实存在.h,很老的编译器确实可以使用vc6.0 没有命名空间
//强制<iostream.h>使用则会报错

                std是C++标准库,using namespace std;意味着,编译过程中,可以直接去std库中进行

访问,但是直接展开并不好,如果我们的定义,如果与库中的内容冲突,则会报错,最好用谁,

展开谁,项目里面尽量不要展开

                解决方法:我们可以把常用的函数展开,using std::cout;   using  std::endl;

using namespace std;

int main()
{

	std::cout << "hello world" << std::endl;
	cout << "hello world" << endl;
	return 0;
}

2.C++的输入&&输出

        注:std::cout和std::endl,厉害的地方在于自动识别数据类型

说明:

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

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

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

iostream >头文件中。

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

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

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

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

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

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

        C++和C语言可以混着用,哪个方法方便使用哪个



上一篇:【数据结构】二叉树的实现
下一篇:没有了
网友评论