【C++】嵌套命名空间和内联命名空间(c++11)

news/2024/7/7 22:18:52

嵌套命名空间

【用法】

namespace test1::test2::test3 {
	int TestMethod() {
		return 0;
	}
}

等价于:

namespace test1 {
	namespace test2 {
		namespace test3 {
			int TestMethod() {
				return 0;
			}
		}
	}
}

【作用】
代码更简洁美观

内联命名空间

【用法】
namespace关键字前加inline关键字:

namespace test {
	inline namespace V1 {
		int TestMethod() {
			return 1;
		}
	}
}

调用时可以直接通过以下方式调用,省略子namespace的名字:

test::TestMethod();

【特性】
内联命名空间中的名字可以被外层命名空间直接使用,无需前缀。
【使用场景】
当namespace中加入新特性时,无需使用者修改代码。如:当V1升级为V2时,使用inline修饰V2的命名空间,使用者无需再修改代码。
原来定义的namespace:

namespace test {
	namespace V1 {
		int TestMethod() {
			return 1;
		}
	}
}

新版本的namespace:

namespace test {
	inline namespace V1 {
		int TestMethod() {
			return 1;
		}
	}

	namespace V2 {
		int TestMethod() {
			return 1;
		}
	}
}

前后两个版本使用者都可以通过test::TestMethod()调用V1中的TestMethod方法。


http://lihuaxi.xjx100.cn/news/1753000.html

相关文章

【Java】三种方案实现 Redis 分布式锁

序言 setnx、Redisson、RedLock 都可以实现分布式锁&#xff0c;从易到难得排序为&#xff1a;setnx < Redisson < RedLock。一般情况下&#xff0c;直接使用 Redisson 就可以啦&#xff0c;有很多逻辑框架的作者都已经考虑到了。 方案一&#xff1a;setnx 1.1、简单实…

[自定义 Vue 组件] 小尾巴顶部导航栏(2.0) TailTopNav

文章归档&#xff1a;https://www.yuque.com/u27599042/coding_star/oglrqteg8fzvvzn0 [自定义 Vue 组件] 响应式顶部导航栏(1.0) TopNav&#xff1a;https://www.yuque.com/u27599042/coding_star/hzltsltxgavwx8u2 组件效果示例 组件所依赖的子组件 [自定义 Vue 组件] 小尾巴…

降级python

起因&#xff1a; python版本过高不能下载一个包&#xff0c;需要降级 首先使用 python --version 查看python版本 然后conda install python3.10 python3.10会下载到这个目录下&#xff08;这个千万别找错&#xff09; 然后更换路径 alias python/home/zky/.conda/envs/c…

01 向量基本概念

向量基本概念 向量是什么物理专业学生视角计算机专业学生视角数学家视角 不同视角之间的关系 这是关于3Blue1Brown "线性代数的本质"的学习笔记。 向量是什么 物理专业学生视角 向量是空间中的箭头。向量的长度和方向确定一个向量。只要长度和方向相同&#xff0c…

社群团购,1个人1个月如何卖掉1家实体店1年的销量?

社群团购&#xff0c;1个人1个月如何卖掉1家实体店1年的销量&#xff1f; 有一些老板问我他的产品是否适合做社群团购。 我看了下他的朋友圈&#xff0c;问了产品价格后说&#xff1a;应该还不错&#xff0c;但要做2件事&#xff0c;1个是在百度做下铺垫&#xff0c;1个是把笔…

asp.net docker-compose添加volume配置

打开docker-compose.override.yml下面添加 volumes:killsb-one-sqldata:external: false 服务下面添加volume配置 volumes:- "./dapr/config/social-client.json:/app/OidcSettings.json" 添加volume配置成功

【马蹄集】—— 百度之星 2023

百度之星 2023 目录 BD202301 公园⭐BD202302 蛋糕划分⭐⭐⭐BD202303 第五维度⭐⭐ BD202301 公园⭐ 难度&#xff1a;钻石    时间限制&#xff1a;1秒    占用内存&#xff1a;64M 题目描述 今天是六一节&#xff0c;小度去公园玩&#xff0c;公园一共 N N N 个景点&am…

怎么测量直线模组的精度?

直线模组是一款比较多变的一种产品&#xff0c;适合多种行业&#xff0c;同时它也适合比较多的环境&#xff0c;是一种比较全面的直线运动的装置。直线模组是非常精密的自动化机械设备&#xff0c;在实践中&#xff0c;应该要严格把握具体精度&#xff0c;并且在必要的时候&…