“公共”和“私人”可见性修饰符的缩进[关闭]

Posted

技术标签:

【中文标题】“公共”和“私人”可见性修饰符的缩进[关闭]【英文标题】:Indentation of "public" and "private" visibility modifiers [closed] 【发布时间】:2011-02-10 17:18:58 【问题描述】:

我通常像这样缩进 public:private: 访问说明符:

class Foo()

    private:

    void Bar1() 

    public:

    void Bar2() 

然而,Xcode 似乎不喜欢这样,所以我觉得我做错了什么。缩进private:public: 的常见做法是什么?

【问题讨论】:

@BlackBear 我不知道该怎么称呼他们。 我认为(我不是 C++ 人)这些都是属性 从技术上讲,它们是“访问说明符”。 @Mike 好的,我会更改问题以反映这一点。 补充阅读:Stroustrup indentation style 【参考方案1】:

“宗教”问题 :-) 我想你会得到很多不同的答案。

我说: 只要你始终如一,你喜欢哪个。

【讨论】:

【参考方案2】:

Visual Studio 会这样做:

class Foo()

private:

    void Bar1() 

public:

    void Bar2() 

但我讨厌它。不过很多人都用。如果只有 C++ 像大多数语言一样支持特定于字段/方法的可见性修饰符就好了。

我个人喜欢用这个:

class Foo()

    private:

        void Bar1() 

    public:

        void Bar2() 

VS 通常会一直将其还原为缩进方案,所以我经常只是提交。

【讨论】:

缺点是,当你有嵌套类时,你缩进太远了:/你如何缩进标签? @Foo Bah:人们发明这些宽屏显示器是有原因的 :) 而且我不使用标签。 +1. 即使我讨厌 VS 对公共和私人的缩进 “如果只有 C++ 支持字段/方法特定的可见性修饰符”我不明白你的抱怨:没有什么能阻止你这样做:private: void Bar1() 有什么办法可以改变VS的公共和私有缩进?编辑:This is the SO question for that【参考方案3】:

就像标签

class Foo()

private:

    void Bar1() 

public:

    void Bar2() 

【讨论】:

我同意,只是因为缩进和 80 列的行不能很好地混合 :) @Matthieu M:因为 80 列屏幕仍在使用中! @Martin: CLang 指导方针已经把 80 列逼到了我的喉咙;)我确实喜欢能够并排比较 2 块代码,所以我不喜欢无休止的行,无论是 80或 100 或其他什么,这需要一个限制。 @Martin:我使用的是 27" iMac :) 我通常同时打开 5-10 个文件,当我可以将每个窗口宽度保持在 80 个字符时,这让生活变得更加轻松。 【参考方案4】:

如果你想遵循风格指南,我建议Google C++ Style Guide:

以公共、受保护和私人顺序排列的部分,每个都缩进一个空格。

【讨论】:

但请注意,您只遵循样式指南中与代码布局相关的部分,而不是那些任意限制您使用功能失调的语言子集的部分。

以上是关于“公共”和“私人”可见性修饰符的缩进[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Private 可见性修饰符的含义

Kotlin 中内部可见性修饰符的范围

github设置仓库可见性 私人仓库设置他人协作/可见

Kotlin学习笔记之可见性修饰符

Koltin——最详细的可见性修饰符详解

private/默认/protected/public权限修饰符的区别