关于c++的命名空间

目录

1.命名空间

(1)hello world

(2)细讲hello world代码

(3)引用命名空间

(4)总结代码

2.自定义一个命名空间


1.命名空间

(1)hello world

#include<iostream>
using namespace std;
int main(void)
{
   cout<<"hello world"<<endl;
   return 0;
}

(2)细讲hello world代码

  1. #inlcude<iostream>中iostream提供了一个叫命名空间的东西,标准的命名是:std
  2. using namespace std 叫引用命名空间
  3. cout就是黑屏幕相当于C语言中的printf,endl是换行符

(3)引用命名空间

  • 由于cout、endl包含在了std的标准命名空间中所以每次使用时可以直接引用,如:

std::cout<<"hello,world"<<std::endl;

  •  上一种方法实在太麻烦,每次都要引用。所以我们可以在main函数之前声明空间中的一个变量

using std::cout;

using std::endl;

  • 最后一种方法是直接在main函数之前使用命名空间:

using namespace std;

(4)总结代码

#include<iostream> //iostream提供了一个叫命名空间的东西,标准的命名空间是:std
using namespace std;//命名空间

//方式二:
using std::cout;//声明空间中的一个变量
using std::endl;

//方式三:(最简便的方法)
using namespace std;

int main(void)
{
#if 0
	//方式一:
	std::cout << "hello world" << std::endl;  //cout就是黑屏幕  endl是换行符
#endif 

	cout << "hello world" << endl;

	int a = 0;
	cin >> a;//相当于C语言中的scanf输入函数
	cout << "a=" << a << endl;

	return 0;
}

2.自定义一个命名空间

#include<iostream>
//定义一个普通的命名空间
namespace spaceA
{
   int g_a=10;
}
int main(void)
{
   return 0;
}

1.试着模仿标准命名空间的声明来使用三种方式在main函数中使用g_a这个变量

#include<iostream>
using namespace std;
namespace spaceA
{
   int g_a=10;
}
//方法二:
using spaceA::g_a;

//方法三:
using namespace spaceA;
int main(void)
{
   //方法一:
   cout<<"g_a="<<spaceA::g_a<<endl;
 
   
   return 0;
}

2.升高难度:创建一个嵌套式的命名空间

#include<iostream>
using namespace std;
namespace spaceA
{
	int a = 20;
	namespace spaceB
	{
		struct teacher
		{
			int id;
			char name[23];
		};
	}
}
int main(void)
{

	return 0;
}

3.试着再用三种方法来使用命名空间spaceB中的结构体teacher

#include<iostream>
using namespace std;
namespace spaceA
{
	int a = 20;
	namespace spaceB
	{
		struct teacher
		{
			int id;
			char name[23];
		};
	}
}
//第二种方法:
//using spaceA::spaceB::teacher;

//第三种方法:
using namespace spaceA::spaceB;
int main(void)
{
	//第一种方式:
	//spaceA::spaceB::teacher t1;
	//t1.id = 20;

	//teacher t1;

	teacher t1;
	
	return 0;
}

相关推荐

  1. 关于c++命名空间

    2024-04-11 15:00:04       34 阅读
  2. std命名空间C++标准库命名空间

    2024-04-11 15:00:04       42 阅读
  3. c++ 命名空间 匿名命名空间

    2024-04-11 15:00:04       64 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-11 15:00:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-11 15:00:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-11 15:00:04       82 阅读
  4. Python语言-面向对象

    2024-04-11 15:00:04       91 阅读

热门阅读

  1. 水土流失监测设备解析

    2024-04-11 15:00:04       34 阅读
  2. 设计模式(013)行为型之观察者模式

    2024-04-11 15:00:04       33 阅读
  3. HTML中meta标签的作用

    2024-04-11 15:00:04       33 阅读
  4. SUBSTRING_INDEX 函数

    2024-04-11 15:00:04       34 阅读
  5. CPU怎么实现LOCK指令

    2024-04-11 15:00:04       41 阅读
  6. kafka

    kafka

    2024-04-11 15:00:04      36 阅读
  7. Docker

    Docker

    2024-04-11 15:00:04      36 阅读
  8. win11安装weblogic12C遇到的奇怪问题

    2024-04-11 15:00:04       39 阅读