论文部分内容阅读
泛型函数容器的使用可以解耦对象之间的调用关系,有利于实现高内聚、低耦合的软件设计原则。C++标准库中并没有这样的容器,用C++旧标准实现也很困难、很低效。C++1x等新标准发布后,出现了一些更好的实现方式。本文将在已有设计的基础之上,基于C++17新标准,利用ifconstexpr、foldexpression、std::invoke等新技术,提供一种泛型函数容器的实现方式。测试表明该实现方式简洁高效,解决了重载函数和某些特殊函数的注册调用问题,可以显著降低耦合性、提高代码复用性。