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

在C++中,静态的构造函数有什么功用啊

2013-09-05 
在C++中,静态的构造函数有什么作用啊?请问:Class thread{Public:void thread_()static void *thread_(voi

在C++中,静态的构造函数有什么作用啊?
请问:
Class thread{

    Public:
    void thread_(); 
    static void *thread_(void *); 

}

静态的构造函数就调用了一下,非静态的构造函数,这么写,有什么用意?
或者在什么情况下,需要这种构造函数。

楼主再看看构造函数的原型吧!
[解决办法]
其实,也不能说完全没有。

template <typename T,typename ...Args>
T* create(Args && ...args) {
    void *p = malloc(sizeof(T));


    new (p) T(std::forward<Args>(args)...);
    return static_cast<T*>(p);
}

其实,我不确定直接调用T::T(...),是否会填写上vtable。析构是可以这样调用的。
起个跟类名一样的函数,挺有意思。我还没试验过。
叫他静态构造,好像也蛮有道理的。哈哈
一般这种静态函数是为了完成特定的内存分配需求。就是名字起的挺有创意。
[解决办法]
楼主,这哪里是构造函数,看书也不仔细些,C++中定义构造函数压根就不可能有返回值好吧。

热点排行