将类型传递给需要指针的构造函数

时间:2016-05-30 08:21:31

标签: c++ pointers initialization

一个错字导致我偶然发现了一些我不理解的代码。它编译但我不知道为什么,也不知道它在做什么。基本上我最终初始化一个类,作为一个参数,而它应该期待一个类型的指针)。我在下面用一个简单的例子复制了它,有人可以解释这里发生了什么吗?请注意,两个构造函数似乎都没有运行。我也在使用gcc 4.8.4, with C++0x (-std=c++0x flag)

#include <iostream>

class Arg
{
    Arg()
    {
        std::cout << "Arg constructor\n";
    }
};

class Wrapper
{
private:
    Arg* data;
public:
    Wrapper(Arg* _data) : data(_data)
    {
        std::cout << "Wrapper constructor\n";
    }
};

int main()
{
    Wrapper wrapper(Arg); //I do not understand what this line is doing
                          //nor why it compiles

    return 0;
}

0 个答案:

没有答案