Sintaxis básica de C++: espacio de nombres

Prefacio: C ++, es decir, cplusplus, como su nombre indica, es la versión promax del lenguaje C, y C ++ es compatible con el lenguaje C.
C ++ nació porque Benjani y otros grandes de Bell Labs creían que el lenguaje C tenía demasiados errores gramaticales y muchas deficiencias (como conflictos de nombres), lo que causaba inconvenientes después de un uso prolongado, por lo que se inventó C ++. en estos agujeros de sintaxis.

Espacios de nombres

Antes de comprender el espacio de nombres, el blogger primero hizo una pequeña pregunta: a menudo incluimos paquetes al comienzo de los archivos C++ using namespace std;, entonces, ¿sabe cuál es la función de esta oración? (Clip con fondo amarillo a continuación)

Hay un problema de conflicto de nombres en el lenguaje C. Si usted y sus colegas colaboran en un proyecto en el futuro, pueden ocurrir conflictos de nombres cuando las bibliotecas de las que es responsable están vinculadas. Por ejemplo, si declara una variable con el mismo nombre, en lenguaje C. En este caso, solo uno de ustedes puede hacer un compromiso y cambiar todas las variables a alias. El espacio de nombres de C++ nació para solucionar esta situación.

1. Calificadores de espacio de nombres y alcance::

namespace example  
{
    
    
	//命名空间中可以定义变量/函数/类。
	int a = 0;
	int Add(int x,int y){
    
    
		return x+y;
	}
}
int main()
{
    
    
	//可以将命名空间想象成一个围墙,围墙里面的东西必须要有权限才能访问。
	//cout << a << endl; 实操后发现并不能打印出a的值
	cout << example::a << endl; //域作用限定符::  借助该符号可以访问命名空间里的数据。
	return 0;
}

2. Expanda el espacio de nombres

1. Ampliación parcial (autorización)

Si necesitamos usar la función Agregar en el espacio de nombres creado anteriormente con frecuencia, es particularmente engorroso usar el calificador de alcance cada vez. Aquí es donde podemos expandir parte del espacio de nombres.
El formato es: usando ejemplo::Agregar;

namespace example
{
    
    
	int a = 0;
	int Add(int x,int y){
    
    
		return x+y;
	}
}
using example::Add;   //展开部分命名空间
int main()
{
    
    
	cout << Add(1,2) << endl; //这里并没有运用与操作限定符,却也可以使用命名空间里的Add函数。
	return 0;
}

2. Expandir todo

Formato: usando el ejemplo de espacio de nombres;
std es el espacio de nombres de la biblioteca estándar de C++. Usar el espacio de nombres std; es expandir toda la biblioteca estándar de C++. Si std no se expande, entonces no se pueden usar cout, cin y otras sintaxis.

namespace example
{
    
    
	int a = 0;
	int Add(int x, int y) {
    
    
		return x + y;
	}
}
using namespace example;  //全部展开命名空间
int main()
{
    
    
	//不用域作用限定符也可访问example里的变量,函数
	cout << a << endl;
	cout << Add(1, 2) << endl;
	return 0;
}

3. Muñeca matrioska

Los espacios de nombres se pueden anidar en espacios de nombres, pero generalmente no se usan de esta manera, pero no se sorprenda si los ve por casualidad.

namespace example
{
    
    
	int a = 0;
	namespace instance
	{
    
    
		int a = 1;
	}

int main()
{
    
    
	cout << example::a << endl;  // 0
	cout << example::instance::a << endl; // 1
	return 0;
}

Resumen: en resumen, hay tres formas de utilizar espacios de nombres.
Si desea definir dos o más variables con el mismo nombre en el futuro, puede colocarlas en espacios de nombres diferentes.
Usar un buen espacio de nombres le ahorrará muchos problemas innecesarios en ejercicios y trabajos futuros.

BB al final del artículo: Si tiene alguna pregunta, no dude en dejar un mensaje en el área de comentarios. Si hay algún problema con algo escrito, puede señalarlo en el área de comentarios. El blogger hará correcciones tan pronto como sea posible después de verlo. Finalmente no es fácil de hacer, si les sirve a mis amigos espero que a ustedes les haga rico y me den algunos likes y atención.
Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_73390155/article/details/132136265
Recomendado
Clasificación