我们先来回首一路的历程cpp 11从 cpp 11 开始标准公布了#include type_traits。将泛型编程的强大性再次提升了一个台阶。cpp 14 , 17增加了一些功能的模板类。并提出了type trait variable templates的概念一定程度上提升了编码的便捷性和阅读性。cpp 20在 cpp 20 有了极大的变化增加了concept和requires关键字。concept对约束进行了分离式的编写。requires对约束条件的编写更加简洁清晰。graph TDSFINAE((SFINAE)) --cpp11([cpp11 : enable_if]) --cpp1417([cpp14,17 : enable_if_v]) --cpp20([cpp20 : concept requires]) --cpp23([cpp23,26...])可见随着新特性的不断推出c 越来越能够给出一种便捷清晰的编程范式。相信在 cpp 23 , cpp 26 甚至更后的版本中会有更加强大的特性供大家使用。