gpt4 book ai didi

c++ - 关于 C++ STL 中的类型

转载 作者:行者123 更新时间:2023-11-28 05:18:45 25 4
gpt4 key购买 nike

这里是从 GCC STL bits/STL_vector.h 复制过来的

template<typename _Tp, typename _Alloc>
struct _Vector_base
{
typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
rebind<_Tp>::other _Tp_alloc_type;
typedef typename __gnu_cxx::__alloc_traits<_Tp_alloc_type>::pointer
pointer;

struct _Vector_impl
: public _Tp_alloc_type
{
pointer _M_start;
pointer _M_finish;
pointer _M_end_of_storage;

_Vector_impl()
: _Tp_alloc_type(), _M_start(0), _M_finish(0), _M_end_of_storage(0)
{ }

我想知道 _Tp_alloc_type() 是什么意思? _Tp_alloc_type 是一个类型,定义为

typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
rebind<_Tp>::other _Tp_alloc_type;

最佳答案

I wonder what does _Tp_alloc_type() mean?

正如您在这段代码中看到的:

  struct _Vector_impl
: public _Tp_alloc_type

_Vector_impl 继承自_Tp_alloc_type 所以代码:

_Vector_impl()
: _Tp_alloc_type() ...

意思是:通过它的默认ctor初始化基类_Tp_alloc_type

关于c++ - 关于 C++ STL 中的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41986187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com