19.C++命名空间(为什么C++程序在#include之后要写using namespace std) 和模板(参数化多态)

本文介绍了C++中的命名空间,解释了为何在#include之后常写using namespace std,并详细探讨了模板,包括函数模板和类模板的概念、作用以及如何使用,强调了模板在参数化多态中的重要性。
摘要由CSDN通过智能技术生成

命名空间

主要用来作为附加信息来区分不同库中相同名称的函数、类、变量等。本质上命名空间是用来限定范围的,比如说们找一个叫“张伟”的人,全中国可能有几千万。但是我们可以说,在xx省xx市xx楼找一个叫张伟的,这就很明确了。
定义命名空间
可以用关键字namespace来定义一个命名空间:

namespace namespace_name {
   
   // 代码声明
}

调用命名空间
我们可以用范围解析符调用某个命名空间中的函数或者变量:

namespace_name::f(x)或者x

下面的例子定义了两个命名空间,在两个空间内有两个名称相同但实现不同的函数,我们通过这个例子可以方便理解:

#include <iostream>
using namespace std;

// 第一个命名空间
namespace first_space{
   
   void func(){
   
      cout << "Inside first_space" << endl;
   }
}
// 第二个命名空间
namespace second_space{
   
   void func(){
   
      cout << "Inside second_space" << endl;
   }
}
int main ()
{
   

   // 调用第一个命名空间中的函数
   first_space::func();

   // 调用第二个命名空间中的函数
   second_space::func(); 

   return 0;
}

为什么C++程序在#include之后要写using namespace std

在看过上面两篇之后,大家可以理解,#include< iostream > 是为了导入标准输入输出库。完了之后我们首先来介绍一下
using关键字
我们使用using这个关键字就可以一次性声明下述代码统一使用std这个命名空间内的函数。我们后续就不需要每次使用调用命名空间,如std::cout这样的。
比如我们用using告诉下面的代码使用第一个命名空间,这样我们不写命名空间的时候他就会默认使用第一个命名空间内的函数:注意主函数上面一行using namespace first_space;

#include <iostream>
using namespace std;

// 第一个命名空间
namespace first_space{
   
   void func(){
   
      cout << "Inside first_space" << endl;
   }
}
// 第二个命名空间
namespace second_space{
   
   void func(){
   
      cout <&
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值