首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

种模板的static成员

2013-08-27 
类模板的static成员下面是c++ primer中模板那一章重新实现的vector的一部分代码:class Vector {public:Vec

类模板的static成员
下面是c++ primer中模板那一章重新实现的vector的一部分代码:


class Vector {
    public:
        Vector():elements(0), first_free(0), end(0) {}
        void push_back(const T&);
        //....
    private:
        static std::allocator<T> alloc;//object to get raw memory
        void reallocate();//get more space and copy existing elements
        T* elements;//first element
        T* first_free;
        T* end;
};
template <typename T> allocator<T> Vector<T>::alloc;
template <typename T>
void Vector<T>::push_back(const T& t) {
    if(first_free == end) reallocate();
    alloc.construct(first_free, t);
    ++first_free;
}

这个static成员的定义不明白。这个定义也没有给他赋值什么的。 类模板 static成员 C++
[解决办法]
静态类对象,默认构造了,不需要赋值了。
[解决办法]
引用:
静态类对象,默认构造了,不需要赋值了。


正解
[解决办法]
http://en.cppreference.com/w/cpp/memory/allocator/allocator

热点排行