c++中的重名问题

看C++视频教程-范磊主讲(2.91G)视频学习笔记整理。

1.c++为什么要引入名字空间(namespace)?

c++引入名字空间这个概念,是为了避免重名问题,比如说避免重复的函数名或者变量名引起的冲突。

2.比如:采用名字空间这样写,可以有三个名字为b的变量名,但是他们的值都是不一样的。

#include<iostream>
namespace a
{
    int b=5;
}
namespace c
{
    int b=8;
}
int main()
{
    int b=9;
    std::cout<<b<<" "<<a::b<<" "<<c::b<<std::endl;
    return 0;
}

打印结果:

3.但是假如我们不采用名字空间,显然我们是不能这么定义的:

int b=5;

int b=8;

int b=9;

这种代码是错误的,且无法通过编译。

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/cplus/

4.重命名冲突时情况:

#include<iostream>
namespace a
{
    int b=5;
}
namespace c
{
    int b=8;
}
int main()
{
    using namespace a;
    using namespace c;
    int b=9;
    std::cout<<b;
    return 0;
}

打印结果:

这时输出的是主函数main中的值  9

如果我们注释掉主函数中的int b=9; 则会无法编译,出现b模糊的符号错误。

作者:cnblogs 星云

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c++
, int
, namespace
, 变量
, 空间
, 名字
, 成员函数重名c++using
重名
c语言函数重名、中国重名最多的名字、中国重名查询系统、中国人重名最多的名字、中国重名,以便于您获取更多的相关知识。

时间: 2024-08-03 07:50:49

c++中的重名问题的相关文章

写出sql语句,获取同一表中员工重名的信息(没有跟其他表关联)

问题描述 如有一张employer表,表中每条记录用id标识,姓名是可重复的,现在是查询出本表中有哪些重名的记录??? 问题补充:hudingchen 写道 解决方案 SELECT * FROM employer WHERE name IN (SELECT name FROM employer GROUP BY name HAVING COUNT(*) > 1)解决方案二:http://wangjinlongaisong-126-com.iteye.com/blog/1455812解决方案三:h

为什么数据库中同一个关系表中的属性名是不能重名的,不同的关系表中的属性名是可以重?能举个例子吗?

问题描述 为什么数据库中同一个关系表中的属性名是不能重名的,不同的关系表中的属性名是可以重?能举个例子吗? 为什么数据库中同一个关系表中的属性名是不能重名的,不同的关系表中的属性名是可以重?能举个例子吗? 解决方案 比如 三张表:学生(学号,姓名),课程(课程名,课程编号),选课(学号,课程号,成绩) 学生表中不能有都叫学号的属性名,比如学生(学号,学号)就是有问题的,表里无法区分这两个学号,也就是同一个关系表中的属性名是不能重名的 学生表和选课表就都能有学号属性,也就是不同的关系表中的属性名是

java-代码中子类在调用重名方法时返回结果为null,究竟调用过程是怎样的?

问题描述 代码中子类在调用重名方法时返回结果为null,究竟调用过程是怎样的? class father { private String name; father(String name) { this.name=name; } public String get_name() { return this.name; } } class son extends father { private String name; son(String name) { super(name); } pub

PHP输出数组中重名的元素的几种处理方法_php技巧

1.可以直接用php的内置函数array_intersect() array array_intersect ( array $array1 , array $array2 [, array $ ... ] ) array_intersect() 返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值.注意键名保留不变. 代码: 复制代码 代码如下: <?php $array1 = array("a" => "green",

循环读取重名节点的方法

循环 怎麼樣把我下面的xml格式的文件里面的结点中值循环读出来  <?xml  version="1.0"  standalone="yes"?>  <InOutStore  xmlns="http://tempuri.org/InOutStore.xsd">     <OutStore>         <code>6900916200010</code>         <ti

从JavaScript函数重名看其初始化方式

JavaScript函数重名了会有什么后果?实验发现页面没有任何脚本错误提示,而且程序也运行了,只是对同名函数的调用执行了位置靠后的一个. 回头仔细一想,这个结果完全可以接受,因为脚本在页面里本身就是顺序执行下来的,包括函数的定义,但然如果只是定义 function foo(){} 这种形式,我们是跟踪不到函数初始化的.可是如果是定义类的方式,我们就可以明显地跟踪到函数的初始化顺序.比如: function foo() {} function foo.prototype.fn1() {} fun

开机提示网络上有重名的解决方法

笔者记得前段时间单位里新买了一批电脑,刚安装完,逐渐有同事来问各种问题,比方说今天这个:右下角弹出窗口,提示"网络上有重名",上网断断续续的,怎么办?这是大批量装机的后遗症,改一下计算机名字就好了. 网络上有重名 网络上有重名的解决办法: 解决网络上有重名提示的办法就是修改计算机名字,具体步骤是: 在桌面"我的电脑"上右键单击,选择"属性",在弹出窗口中寻找"计算机名"标签,点击后在计算机名页面下面点击"更改&quo

Win7旗舰版系统开机提示“网络上有重名”的故障原因及解决方法

  win7旗舰版系统后开机右下角弹出"网络上有重名",具体现象如下所示: 故障原因: 1.网络上有重名多是安装系统时使用无人值守的安装模式,更多是盗版系统的大批量ghost还原所致. 2.当前没有多少系统是使用正版的系统.甚至有不少公司和公务机构虽然买了正版系统,可是由于安装繁琐,并且更新补丁太浪费时间,所以多数采用安装一个样机,更新补丁.安装常用软件后,使用ghost备份,然后在其他同型号电脑上使用ghost还原. 3.有的干脆使用盗版系统.也有的盗版系统已经采用当前安装时间作为计

ssh+dwz-DWZ框架分页属性重名,导致父页面刷新报错!在线等!急~~~

问题描述 DWZ框架分页属性重名,导致父页面刷新报错!在线等!急~~~ SSH+DWZ 依次操作或点击完选项卡2和选项卡3,再(手动或程序)刷新父页面"修改"会出现图1错误,屏蔽选项卡2或3中的红色框的内容或修改成其他名字则不会报错,但是没了红色框内容则分页功能用不了,尝试修改过js,然后再刷新"修改"选卡不出错了但只能成功分页却不能选择第几页或下一页,求知道的大大指导一下在线等~!!!!!! 解决方案 请点开全部展开查看,附上图1-图3 解决方案二: 请点开全部展