相关疑难解决方法(0)

如何在C++ 03中"取消引用类型"?

如何在C++ 03中获得另一种类型的"解引用类型"?请注意,它可以是其他可解除引用的类型std::vector<int>::iterator.

例如,如果我有

template<typename T>
struct MyPointer
{
    T p;
    ??? operator *() { return *p; }
};
Run Code Online (Sandbox Code Playgroud)

我该如何找出替换的内容???

(没有提升!我想知道如何弄清楚自己.)

c++ templates traits template-meta-programming c++03

5
推荐指数
2
解决办法
1717
查看次数

C++:*((SomeType*)0)?

我几次遇到这个句法结构,我想知道:

  1. 这是做什么的?
  2. 设计推理可能是什么?

它往往看起来像这样:

struct SubType : public SomeSuperType {

    SubType(int somthing) : SuperType(something), m_foo(*((FooType *)0))
    {}

    private:
    FooType m_foo;
}
Run Code Online (Sandbox Code Playgroud)

要清楚,代码有效.但目的是什么?m_foo没有那条线的状态是什么?

c++ pointers initialization

2
推荐指数
2
解决办法
166
查看次数