我应该如何缩进不执行任何初始化列表构造函数?

时间:2011-01-09 21:08:47

标签: c++ indentation

示例:Thread::Thread

class Thread
{
    Process * parent_;
    unsigned __int32 id_;
    void * entryPoint_;
public:
    Thread(Process * parent, unsigned __int32 id, void * entryPoint) : 
        parent_(parent),
        id_(id),
        entryPoint_(entryPoint)
    {
    }
    unsigned __int32 GetId() const
    {
        return id_;
    }
    void * GetEntryPointAddress() const
    {
        return entryPoint_;
    }
};

我似乎无法想出一种缩进事物的方法,这样它看起来并不奇怪......但这是一种常见的模式。缩进的常见方法是什么?

5 个答案:

答案 0 :(得分:20)

我总是在一行上放空块 - 即{ }(注意空格!)。

此外,我通常将冒号和逗号放在初始化列表成员之前而不是之后 - 这使得以后添加成员更容易。

Thread(Process * parent, unsigned __int32 id, void * entryPoint)
    : parent_(parent)
    , id_(id)
    , entryPoint_(entryPoint)
{ }

答案 1 :(得分:3)

我就是这样做的:

Thread(Process * parent, unsigned __int32 id, void * entryPoint) 
    :parent_(parent),
     id_(id),
     entryPoint_(entryPoint)
{}

但你的方式对我来说并不奇怪。

答案 2 :(得分:2)

我是这样做的

public:
    Thread(Process * parent, unsigned __int32 id, void * entryPoint) : 
    parent_(parent),
    id_(id),
    entryPoint_(entryPoint) 
    { }

谷歌风格(至少是protobuf),将是:

public:
 Thread(Process * parent, 
        unsigned __int32 id, 
        void * entryPoint) 
  : parent_(parent),
    id_(id),
    entryPoint_(entryPoint) { }

答案 3 :(得分:2)

我是这样做的,以及为什么我没有看到你的样品有什么问题:

Thread(Process * parent, unsigned __int32 id, void * entryPoint) : 
        parent_(parent),
        id_(id),
        entryPoint_(entryPoint) { }

就我而言,按照自己的方式行事:只要你自我一致并且与你正在进行的项目保持一致,那么你的缩进就不会重要风格是。

答案 4 :(得分:1)

我建议在空构造函数体中添加注释,这样任何阅读代码的人都知道你想要它是空的。这样他们可以肯定,你不会忘记在那里插入代码。

Thread(Process * parent, unsigned __int32 id, void * entryPoint) : 
    parent_(parent),
    id_(id),
    entryPoint_(entryPoint)
{
    // empty
}