相关疑难解决方法(0)

为什么人们不缩进C++访问说明符/ case语句?

我经常看到这样的东西:

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)

是否有资金理由打破(否则)一致的缩进规则?

c++ coding-style indentation

23
推荐指数
6
解决办法
7036
查看次数

这个C代码做什么[Duff的设备]?

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)

c++

10
推荐指数
4
解决办法
4997
查看次数

为什么开关内的case语句没有被某些IDE缩进?

可能重复:
为什么人们不缩进C++访问说明符/ case语句?

我有一个语法问题......不是关于如何,而是关于原因.许多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)

相反: …

c c++ syntax

5
推荐指数
1
解决办法
6472
查看次数

标签 统计

c++ ×3

c ×1

coding-style ×1

indentation ×1

syntax ×1