C++学习04-命名冲突和命名空间

本文介绍了C++中的命名冲突问题及其解决方式——命名空间。通过实例解释了全局命名空间和标准命名空间,详细阐述了如何使用命名空间限定符std::以及using关键字,并警告了使用using namespace std的潜在风险,强调了命名空间在避免冲突和组织代码中的重要性。
摘要由CSDN通过智能技术生成

C++学习04-命名冲突和命名空间

命名冲突

举一个小例子

​ 假设您是第一次开车去朋友家,给您的地址是 Mill City 的 245 Front Street。到达米尔城后,您拿出地图,却发现米尔城实际上有两条不同的前街,彼此隔着城镇!你会去哪一个?除非有其他线索可以帮助您做出决定(例如,您记得他的房子在河边),否则您必须打电话给您的朋友并询问更多信息。因为这会令人困惑且效率低下(尤其是对于您的邮递员),所以在大多数国家/地区,城市内的所有街道名称和房屋地址都必须是唯一的。

​ 类似地,C++ 要求所有标识符都没有歧义。如果以编译器或链接器无法区分的方式将两个相同的标识符引入同一个程序,编译器或链接器将产生错误。此错误通常称为命名冲突(或命名冲突)。

上段例子引用自cpp-tutorial-2.8

下面再举一个实际函数中的例子

a.cpp

#include <iostream>
void myFcn(int x)
{
   
    std::cout << x;
}

main.cpp

#include <iostream>
void myFcn(int x)
{
   
    std::cout << 2 *</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值