我经常看到这样的东西:
class SomeClass {
public:
void someMethod();
private:
int someMember;
};
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎完全不自然(同样适用于case使用时的-statements switch).我期待这样的事情,当我开始使用C++时(从那时起已经很长时间了,但我仍然想知道):
class SomeClass {
public:
void someMethod();
private:
int someMember;
};
Run Code Online (Sandbox Code Playgroud)
是否有资金理由打破(否则)一致的缩进规则?
void Send(int * to, const int* from, const int count)
{
int n = (count+7) / 8;
switch(count%8)
{
case 0: do { *to++ = *from++;
case 7: *to++ = *from++;
case 6: *to++ = *from++;
case 5: *to++ = *from++;
case 4: *to++ = *from++;
case 3: *to++ = *from++;
case 2: *to++ = *from++;
case 1: *to++ = *from++;
} while (--n>0);
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个语法问题......不是关于如何,而是关于原因.许多IDE(如Eclipse和Qt Creator)会自动缩进,switch如下所示:
Day randomDay = getRandomDay(); /* returns 'enum Day' */
switch (randomDay) {
default:
case Monday:
/* ... */
break;
case Tuesday:
/* ... */
break;
/* ... */
}
Run Code Online (Sandbox Code Playgroud)
我总是发现这与一般的代码缩进规则不一致,我更喜欢这样做:
Day randomDay = getRandomDay(); /* returns 'enum Day' */
switch (randomDay) {
default:
case Monday:
/* ... */
break;
case Tuesday:
/* ... */
break;
/* ... */
}
Run Code Online (Sandbox Code Playgroud)
类似地,C++类定义通常是这样缩进的:
class MyClass {
public:
/* ... */
}
Run Code Online (Sandbox Code Playgroud)
相反: …