【问题标题】:Eclipse: how to format pointer declarationEclipse:如何格式化指针声明
【发布时间】:2014-07-22 07:03:32
【问题描述】:

我知道关于如何格式化指针变量有各种不同的思想流派,例如:

char* array[4];
char * array[4];
char *array[4];

没有一个正确的方法,但我对第一个很满意。

顺便说一句,从其他地方复制粘贴代码,我经常会找到其他格式,而使用自动格式化(ctrl+shift+f)这个东西是无法修复的。

有没有办法添加一个选项以获得这种格式?

我已经在搜索了:

窗口->首选项
C/C++->代码风格->格式化程序

但我找不到任何有用的东西..

使用 Eclipse 版本:Kepler Service Release 2

【问题讨论】:

    标签: c++ eclipse coding-style


    【解决方案1】:

    这似乎是当前 CDT 格式化程序无法做到的(参见 Bug 287808)。虽然 bug 的状态是指定的,所以我希望它在即将发布的版本中得到解决。 错误描述中提到,Eclipse 应该尝试保留现有样式,但不能强制执行。

    【讨论】:

      【解决方案2】:

      我只是碰巧读了这个文档,也许它会很有用,这是 C++ 的 n3242 标准,我相信它是当今最常见的。 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf 还有更多“更新”的标准,例如 n3249(我相信),但我认为这更有用:)

      编辑:另外,如果这会有所帮助,我是计算机科学专业的学生,​​讲师将其写为:“char* array[4]”,我会这样做。(如果这对你很重要:))

      【讨论】:

      • 感谢您的链接,但这并不能解决我的问题):顺便说一句,我也是 C.S. 学生,而且我也一直听到“char* x”!
      【解决方案3】:

      我发现这样的格式更合乎逻辑

      int *p = nullptr;
      

      因为在这种情况下:

      int *p, a, b;
      

      它强调,并非所有 3 个变量都被声明为指针,而只有 p。

      此时:

      int* p, a, b;
      

      更有可能表明,所有 3 个都是指向整数的指针。

      【讨论】:

        猜你喜欢
        • 2011-06-02
        • 1970-01-01
        • 2017-11-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-02
        • 2011-07-14
        • 2011-01-17
        相关资源
        最近更新 更多