C++中的元编程常用工具


std::forward  :  通常是用于完美转发的,它会将输入的参数原封不动地传递到下一个函数中,这个“原封不动”指的是,如果输入的参数是左值,那么传递给下一个函数的参数的也是左值;如果输入的参数是右值,那么传递给下一个函数的参数的也是右值。


std::remove_reference_t  :  是一个模板类的类型别名,用于去掉T的引用属性


std::remove_const_t  :  是一个模板类的类型别名,用于去掉T的const属性


std::decay :  为我们移除类型中的一些特性,比如引用、常量、volatile,但是不包括指针特性


std::conditional<bool B, class T, class F>  :  提供成员 typedef type,若B在编译时为true则定义为T ,或若B为false则定义为F


std::is_same<class A, class B>  :  模板用于检查类型A是否与类型B相同。如果两者相同,则返回布尔值true,否则返回false

posted @ 2023-04-06 17:34  ParamousGIS  阅读(17)  评论(0编辑  收藏  举报