// Curly braces around both IF and ELSE required because
// one of the clauses used braces.
if (condition) {
foo;
} else {
bar;
}Warning:
// Not allowed - curly on IF but not ELSE
if (condition) {
foo;
} else
bar;
// Not allowed - curly on ELSE but not IF
if (condition)
foo;
else {
bar;
}循环和开关选择语句:switch语句可以使用大括号分段.空循环体应使用{}或continue.
switch语句中的case块可以使用大括号也可以不用,取决于你的个人喜好.如果用的话,要按照下文所述的方法.
如果有不满足case条件的枚举值,switch应该总是包含一个default匹配(如果有输入值没有case去处理,编译器将报警).如果default应该永远执行不到,简单的加条assert:
switch (var) {
case 0: { // 2 space indent
... // 4 space indent
break;
}
case 1: {
...
break;
}
default: {
assert(false);
}
}
空循环体应使用{}或continue,而不是一个简单的分号.
while (condition) {
// Repeat test until it returns false.
}
for (int i = 0; i < kSomeNumber; ++i) {} // Good - empty body.
while (condition) continue; // Good - continue indicates no logic.Warning:
while (condition); // Bad - looks like part of do/while loop.指针和引用表达式:句点或箭头前后不要有空格.指针/地址操作符(*,&)之后不能有空格.
下面是指针和引用表达式的正确使用范例:
x = *p; p = &x; x = r.y; x = r->y;注意:
(1)、在访问成员时,句点或箭头前后没有空格.
(2)、指针操作符*或&后没有空格.
在声明指针变量或参数时,星号与类型或变量名紧挨都可以:
// These are fine, space preceding. char *c; const string &str; // These are fine, space following. char* c; // but remember to do "char* c, *d, *e, ...;"! const string& str;Warning
char * c; // Bad - spaces on both sides of * const string & str; // Bad - spaces on both sides of &在单个文件内要保持风格一致,所以,如果是修改现有文件,要遵照该文件的风格.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-35033-26.html
“甲午战争”120年后的中国
日本海军强在舰新
何来公信力