9.7. 列表初始化格式

总述

您平时怎么格式化函数调用, 就怎么格式化 列表初始化.

说明

如果列表初始化伴随着名字, 比如类型或变量名, 格式化时将将名字视作函数调用名, {} 视作函数调用的括号. 如果没有名字, 就视作名字长度为零.

  1. // 一行列表初始化示范.
  2. return {foo, bar};
  3. functioncall({foo, bar});
  4. pair<int, int> p{foo, bar};
  5.  
  6. // 当不得不断行时.
  7. SomeFunction(
  8. {"assume a zero-length name before {"}, // 假设在 { 前有长度为零的名字.
  9. some_other_function_parameter);
  10. SomeType variable{
  11. some, other, values,
  12. {"assume a zero-length name before {"}, // 假设在 { 前有长度为零的名字.
  13. SomeOtherType{
  14. "Very long string requiring the surrounding breaks.", // 非常长的字符串, 前后都需要断行.
  15. some, other values},
  16. SomeOtherType{"Slightly shorter string", // 稍短的字符串.
  17. some, other, values}};
  18. SomeType variable{
  19. "This is too long to fit all in one line"}; // 字符串过长, 因此无法放在同一行.
  20. MyType m = { // 注意了, 您可以在 { 前断行.
  21. superlongvariablename1,
  22. superlongvariablename2,
  23. {short, interior, list},
  24. {interiorwrappinglist,
  25. interiorwrappinglist2}};