我有以下代码片段,就像我想要的一样:
#include <iostream>
int main(int argc, char* argv[])
{
for (auto i: { 1, 2, 3 })
{
std::cout << i << std::endl;
}
}
不幸的是,astyle将其转换为:
#include <iostream>
int main(int argc, char* argv[])
{
for (auto i :
{
1, 2, 3
})
{
std::cout << i << std::endl;
}
}
有什么方法可以使astyle对待初始化程序列表大括号进行不同处理(即忽略它们)?
这些是我目前的选择:
--mode=c --style=allman --indent=spaces=4 -max-code-length=100 --attach-namespaces --pad-oper --pad-header
最佳答案
只需添加选项--keep-one-line-blocks
所以,所有选项都是
--mode = c --style = allman --indent = spaces = 4 --max-code-length = 100 --attach-namespaces --pad-oper --pad-header --keep-one-line-阻止
#include <iostream>
int main( int argc, char* argv[] )
{
for ( auto i : { 1, 2, 3 } )
{
std::cout << i << std::endl;
}
bool br = false;
if ( true )
{ br = true; cout << "Just test" << endl; }
}
但是,您应该小心。
添加
--keep-one-line-blocks
选项后,astyle只会保留所有一行,例如最后一行。关于c++ - astyle处理数组初始化花括号可以不同吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39510081/