首页 > 编程语言 >C++入门:命名空间

C++入门:命名空间

时间:2023-07-30 20:31:47浏览次数:37  
标签:std 入门 int namespace C++ 空间 命名 using

在C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称都将存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。


1.命名空间的定义

定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。

1)命名空间中可以定义变量,函数,类型

2)命名空间可以嵌套

3)同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中

namespace ns1
{
	int a;

	double b;

	int c(int x, int y)
	{
		return x + y;
	}

	struct Node
	{
		int val;
		struct Node* next;
	};

	namespace ns2
	{
		int c;
	}
}

注意:一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限在该命名空间中


2.命名空间的使用

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

1)加命名空间名称及作用域限定符

int main()
{
	std::cout << ns1::c(1, 2) << std::endl;
	return 0;
}

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

using ns1::a;
using std::cout;
using std::endl;

int main()
{
	a = 1;
	cout << a << endl;

	return 0;
}

3)使用using namespace 命名空间名称引入

using namespace std;

int main()
{	
	cout << 1 << endl;

	return 0;
}








标签:std,入门,int,namespace,C++,空间,命名,using
From: https://blog.51cto.com/u_15928027/6902396

相关文章

  • C++入门:缺省参数
    1.缺省参数的概念缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实参则采用该形参的缺省值,否则使用指定的参数。#include<iostream>usingnamespacestd;voidFunc(inta=0){ cout<<a<<endl;}intmain(){ Func(); Func(1);......
  • Spark入门
    一、Spark框架概述1.1spark是什么定义:ApacheSpark是用于大规模数据(large-scaladata)处理的统一(unified)分析引擎。弹性分布式数据集RDD:RDD是一种分布式内存抽象,其使得程序员能够在大规模集群中做内存运算,并且有一定的容错方式。而这也是整个Spark的核心数据结构,Spark整个......
  • 初识C++
    C++对C语言设计不合理的地方进行了优化,下面来看一下到底进行了什么优化。一、C++关键字(C++98)C++总计63个关键字,C语言32个。二、命名空间在C/C++中,变量、函数、和类都是大量存在的,这些变量、函数和类的名称都将存在于全局作用域中,可能会导致很多命名冲突。使用命名空间的目的就是对......
  • C++ Primer Plus 第6版 读书笔记(8)第 8章 函数探幽
    第8章函数探幽本章内容包括:内联函数。引用变量。如何按引用传递函数参数。默认参数。函数重载。函数模板。函数模板具体化。通过第7章,您了解到很多有关C++函数的知识,但需要学习的知识还很多。C++还提供许多新的函数特性,使之有别于C语言。新特性包括内联函数、......
  • 实时嵌入式Linux设备基准测试快速入门3实时嵌入式Linux
    第3章实时嵌入式Linux计算机系统与环境之间的交互通常是实时发生的,因此,对于作为计算机系统一部分的嵌入式设备来说,有关实时操作系统的讨论也是一个重要话题。本章将讨论实时系统的特点,介绍在Linux嵌入式设备上实现实时性的主要方法。具体来说,本章将重点分析PREEMPT_RT内核补丁,该......
  • C++ assert学习
    转自:https://blog.csdn.net/m0_51913750/article/details/1309864651、介绍  assert是一个宏,用于在运行时检查一个条件是否为真,如果条件不满足,则运行时将终止程序的执行并输出一条错误信息。条件满足为true时,不做任何操作。assert宏的使用可以帮助程序员检查程序的正确性,并......
  • C++虚函数、static_cast、dynamic_cast
        C++虚函数:当一个类中拥有至少一个虚函数,那么编译器就会构建出一个虚函数表来指示这些函数的地址,假如继承该类的子类定义并实现了一个同名并具有同样函数签名的方法重写了基类中的方法,那么虚函数表会将该函数指向新的地址。    此时多态性就体现出来了:当我们将基......
  • C++ error学习
    转自:https://blog.csdn.net/NiuYoohoo/article/details/849304041、介绍errno是用于错误指示的预处理器宏,数个标准库函数通过写入正整数到errno指示错误。程序启动时errno的值为​0​,而且尽管不管在错误发生与否时,允许写入正整数到errno。2、例子#include<iostrea......
  • 正点原子Ubuntu入门016---shell脚本条件判断、函数和循环
    一、shell脚本的条件判断虽然可以通过&&和||来实现简单的条件判断,但是稍微复杂的就不行了shell脚本呢提供了if  then 条件判断语句,写法:if条件判断;then//判断条件成立要做的事情fi   ifthenelse语法 if条件判断;then//判断条件成立要做的事情e......
  • python数据分析师入门-学习笔记(第十节 数据获取)
    工具使用Anaconda官网下载安装一路next(默认就行)Chrome默认安装就行打开jupyternotebook打开anacondaprompt输入jupyternotebook系统自动打开一个网页快手掌握开发工具模式:代码模式markdown模式快捷键h查看所有快捷键esc编辑状态切换......