当前位置:   article > 正文

2024年C C++最新【C++干货基地】namespace超越C语言的独特魅力(文末送书,C C++实习面试经验汇总_c++找出众

c++找出众

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

除了上述领域外,在:科学计算、浏览器、流媒体开发、网络软件等都是C++比较适合的场景,
作为一名老牌语言的常青树,C++一直霸占编程语言前5名,肯定有其存在的价值。

二、命名空间的概念

说了这么多那么我们今天就来介绍一下 C++ 的学习都说C++是C语言的升级版毕竟都叫 Cplusplus 了没点本事怎么敢这样叫呢?

C++ 第一个升级的地方就是命名空间的概念,以往我们在写C语言程序的时候的变量和函数都是大量存在的,而C++中还有类也是大量存在这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。

比如在 有俩个业务员去负责俩个模块但是他们去的函数名都一样在自己的机器上都运行的好好的一旦把自己的代码合并到主服务器上去就出现命名冲突的问题导致程序崩溃。

  • 所以为了解决这个问题C++ 中就有了命名空间的概念,这也是我们要学的第一个关键字 namespace

2.1 命名空间的创建

以往我们在定义全局变量的时候如果和库函数语言了就会导致出现命名冲突的情况

#include <stdio.h>
#include <stdlib.h>
int rand = 10;
// C语言没办法解决类似这样的命名冲突问题
// 所以C++提出了namespace来解决
int main()
{
	printf("%d\n", rand);
	return 0;
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述

所以我们在C++ 可以使用 namespace 定义一个命名空间在这个命名空间里就相当于拿一个围栏来围起来这样在 namespace 里面就相当于一个单独的空间了。

  • 而我们在使用的时候只需要使用单独展开就可以使用了,相互之间并不冲突

2.2 命名空间的使用

命名空间的使用非常简单就直接使用关键字和命名空间名,就可以了。这这个空间里面我们可以定义变量函数,或者结构体等等是相当于一个单独的作用域。

  • 命名空间相当于在全局作用域上开辟了一片新的领土所以他与全局范围的变量并不冲突
#define \_CRT\_SECURE\_NO\_WARNINGS 1
#include<iostream>

namespace gugu
{
	int rand = 0;

	int Add(int left, int right)
	{
		return left + right;
	}
	
	struct Node
	{
		struct Node\* next;
		int val;
	};
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
域作用限定符

而我们想要使用命名空间就需要 域作用限定符 :: 这个东西了,他可以让我们访问到命名空间的的内容

  • 域作用限定符 左边事命名空间名 :: 右边是要访问的内容

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/840366
推荐阅读
相关标签