基于C++17的泛型函数容器实现方法研究
来源期刊:软件工程2019年第5期
论文作者:闵军 罗泓
文章页码:18 - 24
关键词:C++17;泛型;函数容器;高内聚;低耦合;
摘 要:泛型函数容器的使用可以解耦对象之间的调用关系,有利于实现高内聚、低耦合的软件设计原则。C++标准库中并没有这样的容器,用C++旧标准实现也很困难、很低效。C++1x等新标准发布后,出现了一些更好的实现方式。本文将在已有设计的基础之上,基于C++17新标准,利用ifconstexpr、foldexpression、std::invoke等新技术,提供一种泛型函数容器的实现方式。测试表明该实现方式简洁高效,解决了重载函数和某些特殊函数的注册调用问题,可以显著降低耦合性、提高代码复用性。
闵军1,罗泓2
1. 宜宾学院图书馆2. 宜宾学院文学与新闻传媒学院
摘 要:泛型函数容器的使用可以解耦对象之间的调用关系,有利于实现高内聚、低耦合的软件设计原则。C++标准库中并没有这样的容器,用C++旧标准实现也很困难、很低效。C++1x等新标准发布后,出现了一些更好的实现方式。本文将在已有设计的基础之上,基于C++17新标准,利用ifconstexpr、foldexpression、std::invoke等新技术,提供一种泛型函数容器的实现方式。测试表明该实现方式简洁高效,解决了重载函数和某些特殊函数的注册调用问题,可以显著降低耦合性、提高代码复用性。
关键词:C++17;泛型;函数容器;高内聚;低耦合;