我已經在我的項目下面的代碼:的astyle嵌套的類格式
class RangeConverter {
private:
struct Converter {
double MinimumInput;
double MaximumInput;
double MinimumOutput;
double MaximumOutput;
template <typename RangeType>
RangeType Convert (RangeType invalue) const {
double v = static_cast<double> (invalue);
if (v < MinimumInput) {
v = MinimumInput;
} else if (v > MaximumInput) {
v = MaximumInput;
}
double interpolationfactor = (v - MinimumInput)/(MaximumInput - MinimumInput);
return static_cast<RangeType> ((interpolationfactor * (MaximumOutput - MinimumOutput)) + MinimumOutput);
}
};
.....
格式化該代碼的astyle後,我得到如下:
class RangeConverter {
private:
struct Converter {
ngeConverter {
private:
struct Converter {
double MinimumInput;
double MaximumInput;
double MinimumOutput;
double MaximumOutput;
template <typename RangeType>
RangeType Convert (RangeType invalue) const {
double v = static_cast<double> (invalue);
if (v < MinimumInput) {
v = MinimumInput;
} else if (v > MaximumInput) {
v = MaximumInput;
}
double interpolationfactor = (v - MinimumInput)/(MaximumInput - MinimumInput);
return static_cast<RangeType> ((interpolationfactor * (MaximumOutput - MinimumOutput)) + MinimumOutput);
}
};
.....
的的astyle命令:
astyle
\ --style=java
\ --indent=force-tab=2
\ --indent-classes
\ --indent-switches
\ --indent-labels
\ --indent-preprocessor
\ --indent-col1-comments
\ --pad-oper
\ --pad-paren
\ --delete-empty-lines
\ --add-brackets
\ --align-pointer=type
\ --align-reference=type
這是astyle的缺陷,還是我忘記了任何選擇? 如果它是一個錯誤,你會建議用VIM格式化C++代碼嗎?