c++ 基础之 namespace_quote

#include <stdlib.h>
#include <iostream>
using namespace std;
//标准命名空间(包含很多标准的定义)
//standard
/*using namespace std;
//命名空间类似于java中的包(归类)


//自定义命名空间
namespace NSP_A{
int a = 9;
}
namespace NSP_B{
int a = 18;
//命名空间嵌套
namespace NSP_C{
int a = 22;
}
}
void main(){


printf("this is c in c plus\n");
//std:cout << "this is c plus_plus" << std:: endl;
     cout << "this is c plus_plus" << endl;


cout << NSP_A::a<< endl;
cout << NSP_B::a << endl;
cout << NSP_B::NSP_C::a<< endl;
getchar();
}*/
/* #define PI 3.14
//类 圆
class Mcircle{
//属性(共用访问权限修饰符)
private:
double r;
double s;
    public : 
void setR(double r){
this->r = r;
}


double getS(){
return PI*r*r;
}
};


void main(){
Mcircle c1;
c1.setR(4);
std::cout << "原型面积:" << c1.getS() << std::endl;
getchar();
}
*/
/*结构体
struct MyTeacher{


public :
char name[20];
int age;


public :
void say(){
cout << this->age << "岁" << endl;
}




};


void main(){
MyTeacher t;
t.age = 18;
t.say();
getchar();
}*/




/*
void main(){
//布尔类型
bool isSingle = true;
if (isSingle){
cout << "单身" << endl;
}
else{
cout << "有对象" << endl;

}
//三目运算符可以作为左值
int a = 10; int b = 20;
((a > b) ? a : b) = 99;
cout << "b="<<b<< endl;


getchar();



}


*/
/*
//引用
void main(){
//变量名-门牌号(内存空间0x-00001的别名)
int a = 10;
//b就是这个内存空间的别名  &在c++中代表引用
int &b = a;
int* c = &a;
b = 55;  //修改了地址上的值  b = 55  *c =55;
cout << b << endl;
cout << *c << endl;
getchar();


}
*/


void swap_p(int* a,int* b){
int c = 0;
c = *a ;
*a =*b;
*b = c;
}


//引用的用处
void  swap_u(int &a,int &b){
int c = 0;
c = a;
a = b;
b = c;
}


void main(){
int x = 10;
int y = 20;
printf("%d,%d\n",x,y);
int* xp = &x;
int* yp = &y;
swap_p(xp,yp);
printf("%d,%d\n", x, y);
swap_u(x, y);
printf("%d,%d\n", x, y);
getchar();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: __BEGIN_NAMESPACE_STD是一个宏定义,用于C++标准库的命名空间。在C++标准库的头文件中,使用该宏定义来包含命名空间std的开始位置,以便于其他代码中使用std命名空间中的类和函数。该宏定义通常与__END_NAMESPACE_STD宏定义一起使用,用于包含整个std命名空间的定义。 ### 回答2: __BEGIN_NAMESPACE_STD 是一个宏定义,意为开始命名空间 std。 在C++中,命名空间是将程序中的标识符(变量、函数、类等)进行分组的一种机制,以防止命名冲突。标准库中的类、函数和变量都被定义在 std 命名空间中。 __BEGIN_NAMESPACE_STD 宏的作用是打开命名空间 std。使用这个宏可以确保在使用标准库中的标识符时,不需要再显式地指定 std 命名空间,而是隐式地引用 std。 通常在 C++ 头文件中使用 __BEGIN_NAMESPACE_STD 宏进行命名空间的打开,然后在头文件的结尾使用相应的结束命名空间的宏来关闭命名空间。这样可以保证标准库的标识符只在指定的头文件中可见,而不会泄露到包含该头文件的其他文件中。 总之,__BEGIN_NAMESPACE_STD 是一个简化命名空间使用的宏,用来指定当前作用域中的标准库标识符的命名空间为 std。 ### 回答3: __BEGIN_NAMESPACE_STD是一个命名空间标识符,主要用于C++标准库的命名空间std。在C++中,命名空间是一种将全局变量、函数和类等标识符进行分组的机制,以避免命名冲突。C++标准库是一个包含了许多实用函数和类的库,被广泛应用于C++程序的开发。标准库中的这些函数和类都被放置在std命名空间中,以防止和用户自己定义的标识符发生冲突。 当我们在C++程序中使用标准库中的函数或类时,通常需要在代码的开头处引入std命名空间,以便编译器能够正确地解析和识别这些标识符。而__BEGIN_NAMESPACE_STD就是一个用于引入std命名空间的宏定义。 在C++标准库的头文件中,通常会看到如下的宏定义: #define __BEGIN_NAMESPACE_STD namespace std { #define __END_NAMESPACE_STD } 这些宏定义的作用是在使用标准库时,方便地引入std命名空间。通过在代码中使用__BEGIN_NAMESPACE_STD宏定义,我们就可以在该宏定义处开始使用std命名空间中的函数和类;而通过使用__END_NAMESPACE_STD宏定义,我们可以在该宏定义处结束使用std命名空间,继续使用自定义的标识符。 总之,__BEGIN_NAMESPACE_STD是用于引入C++标准库命名空间std的宏定义,使我们能够方便地使用标准库中的函数和类,并避免命名冲突问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值