C++ 中初始化列表之后的大括号放置

1 coding-style

对于任何这样放置大括号的人:

void f() {
    stuff();
}
Run Code Online (Sandbox Code Playgroud)

您更喜欢如何在长初始化列表之后放置大括号?
一样的方法?

Object::Object()
    : foo(1)
    , bar(2) {
    stuff();
}
Run Code Online (Sandbox Code Playgroud)

或者例外,这样你就可以真正看到初始化列表的结束位置?

Object::Object()
    : foo(1)
    , bar(2)
{
    stuff();
}
Run Code Online (Sandbox Code Playgroud)

或者留一个空行?

Object::Object()
    : foo(1)
    , bar(2) {

    stuff();
}
Run Code Online (Sandbox Code Playgroud)

或者也许制作一个奇怪的混合体?

Object::Object()
    : foo(1)
    , bar(2)
    {
    stuff();
}
Run Code Online (Sandbox Code Playgroud)

或者滥用缩进

Object::Object()
: foo(1)
, bar(2) {
    stuff();
}

Object::Object() : foo(1)
                            , bar(2) {
    stuff();
}
Run Code Online (Sandbox Code Playgroud)

在这个小例子中,一切都很漂亮,但是启动了十几个初始化程序和一个中等长度的函数体,这很快就会发生变化。

Pau*_*ham 5

能够检测构造函数初始化列表的开始/结束位置以及代码块的开始/结束位置似乎很重要。

Object::Object ()
  : foo (1)
  , bar (2)
{
  ...
}
Run Code Online (Sandbox Code Playgroud)