首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在c++ STL模板参数Tp,Rp,Fp中p是什么意思?

在c++ STL模板参数Tp,Rp,Fp中p是什么意思?
EN

Stack Overflow用户
提问于 2020-08-21 01:06:21
回答 1查看 188关注 0票数 0

我对STL命名惯例很好奇。在STL模板中,'p‘是什么意思。例如:

代码语言:javascript
运行
复制
template <class _Fp> class __value_func;

template <class _Rp, class... _ArgTypes> class __value_func<_Rp(_ArgTypes...)>
{
    typename aligned_storage<3 * sizeof(void*)>::type __buf_;

    typedef __base<_Rp(_ArgTypes...)> __func;
    __func* __f_;

这是否意味着type?Tp的意思是“"Type",Rp”的意思是“Re转折type",Fp的意思是”F连接点type"?

EN

回答 1

Stack Overflow用户

发布于 2020-08-21 05:45:46

如果您查看标准,名称通常是TURArgTypes等,但是实现者不能使用这些名称,因为人们会做一些像#define T true这样的事情。

因此,实现使用以前导下划线开头的标识符。然而,有大量令人失望的代码库,人们已经做了像#define _N 23这样的事情。是的,它是为实现而预留的。反正人们都会这么做。:-(

所以,libc++ (例如),使用_Tp_Up_Rp_ArgTypes等等。这些名字并没有太多的含义。它们以下划线和大写字母开头,它们的长度超过两个字符--它们与标准中使用的名称非常相似,可以与它们匹配。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63515136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档