首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

人们不缩进C++访问说明符/ case语句的主要原因是为了保持代码的可读性和一致性。缩进是一种常见的代码风格,用于提高代码的可读性和理解性。然而,在C++中,访问说明符(public、protected、private)和case语句是特殊的语法结构,它们在代码中具有独特的位置和作用。

不缩进访问说明符的原因是为了突出它们在类定义中的重要性和特殊性。访问说明符用于控制类成员的访问权限,它们定义了类成员的可见性和访问级别。将访问说明符与其他代码块区分开来,可以更清晰地表达类成员的访问权限,使代码更易于理解和维护。

同样,不缩进case语句的原因是为了强调它们在switch语句中的作用。case语句用于在switch语句中匹配特定的值,并执行相应的代码块。将case语句与其他代码块区分开来,可以更清晰地表达每个case的含义和逻辑,减少错误和混淆的可能性。

总结起来,不缩进C++访问说明符和case语句是为了突出它们在代码中的特殊性和重要性,以提高代码的可读性和一致性。这种代码风格有助于减少错误和混淆,并使代码更易于理解和维护。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

团队效率工具: 代码格式化之Clang-format

这里介绍下clang-format,它是基于clang的一个命令行工具,能够自动化格式C/C++/Obj-C代码,支持多种代码风格:Google, Chromium, LLVM, Mozilla, WebKit...clang-format-diff.py脚本,用来格式化patch,code review提交代码2 配置文件说明 配置文件.clang-format详细说明 # 基于那个配置文件 BasedOnStyle: LLVM # 访问说明符的偏移...AllowAllParametersOfDeclarationOnNextLine: true # 允许短的块放在同一行 AllowShortBlocksOnASingleLine : false # 允许短的case...'^ IWYU pragma:' # 语言: None Cpp Java Objc Protp Language: Cpp #指针的*的挨着哪边 PointerAlignment: Right #缩进宽度...case 标签 IndentCaseLabels: true #tab键盘的宽度 TabWidth: 4 UseTab: Never 参考 Clang 8 documentation 使用clang-format

13.5K23

【Python】Python中的条件语句

二、if语句 在C/C++中if语句有三种语句形式: 单分支语句——if……语句 双分支语句——if……else语句 多分支语句——if……else if……else语句 在C/C++的if语句中主要涉及两个关键字...程序会根据判断语句的值来选择是否执行语句块中的内容: 值为真——正常执行语句块中的内容 值为假——执行语句块中的内容 if语句块——语句执行的具体内容,位于大括号{}内。...,第二行中的pass是Python中的关键字,意思是空语句,这里通过pass代表的是if语句语句块中需要执行的内容,前面带有一次缩进; 2.2.1 两种语言的区别 在C/C++中,会通过圆括号()将判断语句的全部内容给括起来...在语句块中可以存在多条语句,在C/C++中,我们通过大括号'{}'来决定语句块的开始与结束,因此不需要担心语句内容不在语句块中; 但是在Python中舍弃了大括号在特殊语句中的这种用法,而是通过缩进来控制...这里的match…case语句实际上就是C/C++中的Switch…case语句,其语法格式如下所示: match subject: case : <action

7910
  • Epic 新语言 Verse 介绍

    我们知道,UE 本身使用 C++ 开发,也允许使用 C++ 来对引擎进行扩展,在引擎内部也提供了蓝图作为官方的可视化编程语言。...这里的 是 Verse 的说明符之一,说明符分为四种: 类说明符,例如 标注一个类是抽象类 访问说明符,例如 标注类成员可以被公开访问 作用说明符...,例如 标注一个函数是异步的 实现说明符,例如 说明符表示对应 API 是 C++ 实现的 作用说明符本身又被分为两种: 独占说明符:可以存在一个或不存在,如果不存在...不过 Verse 更进一步指出,由于这个下标访问是可能越界的,因此它可能失败,因此这里需要使用方括号语法而非圆括号。那么什么时候编译器能够确定访问下标是越界的呢?...那当然就是访问 tuple 的时候了,就像 C++ 的 tuple 是使用模板参数来在编译期确认访问目标一样,在 Verse 中,tuple 的长度和下标访问也是可以被编译期确定的,因此,下面的代码可以编译通过

    1.4K30

    C++变量的存储说明符和cv-限定符

    C++中创建变量时,前面有时会有一些修饰符,这里总结一下。 大体分为两个类别:存储说明符和cv-限定符。...存储说明符 存储说明符有下面这些: auto register static extern mutable auto修饰符的变量时自动变量,如果变量没有任何修饰符,默认就是自动变量,其作用域在函数内部。...register修饰变量将创建一个寄存器变量,理念在于CPU访问寄存器中的值比访问普通存储在堆栈中的值速度要快,声明方法: register int count_fast; 需要注意的是,编译器并不一定会满足将变量放在寄存器中的要求...为什么会发生变化呢?因为假设你指针指向某个硬件位置,其中包含来自串行端口的时间或信息,这就有可能硬件本身改变它,而不是你程序去改变它。 那为什么要告诉程序它可能变化呢?...因为假设编译器发现程序在几条语句中都使用了某个变量,那么为了优化,它不会让程序去查多次,而是缓存到寄存器中。

    62110

    C++打怪 之 编程风格指南 V1.0

    举个例子, 你可以说明为什么函数的前半部分要加锁而后半部分不需要. 不要从.h文件或其他地方的函数声明处直接复制注释....缺省缩进为 4 个空格. 换行后的参数保持 4 个空格的缩进. 4.5 条件语句 总述 倾向于不在圆括号内使用空格. 关键字 if 和 else 另起一行....尽管很多风格选择switch使用{}用来表明case之间不是连在一起的,但是这里采用linux内核风格,推荐case使用{}包含分支,且case位置要与switch对齐。...BackToNormal(); } 4.10 类格式 总述 访问控制块的声明依次序是 public:, protected:, private:, 每个都缩进 2 个空格。...关键词 public:, protected:, private: 要缩进 2 个空格. 除第一个关键词 (一般是 public) 外, 其他关键词前要空一行. 如果类比较小的话也可以空.

    1.3K50

    CCPP中的auto关键字对比分析

    C语言中提供了存储说明符auto,register,extern,static说明的四种存储类别。四种存储类别说明符有两种存储期:自动存储期和静态存储期。其中auto和register对应自动存储期。...C语言中的auto关键字 C语言和C++中auto关键字的使用有很大区别。...stdio.h> #include int main() { double value1 = 3.2, value2 = 3.5; /*使用auto 定义一个变量,在C语言中可以初始化...C++中的auto关键字 ​ C++中的auto关键字是一个类型说明符,通过变量的初始值或者表达式中参与运算的数据类型来推断变量的类型。...其语法形式为: /* *declaration 部分定义一个变量,该变量用于访问序列中的基础元素,expression部分是一个对象,用于表示 *一个序列。

    87520

    《C++Primer》第五章 语句

    如果其他代码也需要控制访问变量,则变量必须定义在语句的外部。...条件语句 1. if语句 复杂if语句或者嵌套if语句时注意使用花括号,否则可能结果会超乎你的预期 悬垂else:当一个if语句嵌套在另一个if语句内部时,很可能if语句会多于else语句C++对于判断某个给定的...2. switch语句 case标签必须是整型常量表达式 任何两个case标签的值不能相同,否则会引发错误 如果某个case标签匹配成功,那么将从该标签开始往后顺序执行所有的case分支 一般不要省略...string等类型的对象,这些对象的共同特点是可以返回迭代器的begin和end成员 declaration定义一个变量,序列中的每个元素都能转换成该变量的类型,确保类型相容最简单的方法是使用auto类型说明符...continue只能出现在for、while、do while循环的内部 仅作用于离它最近的循环 3. goto语句 goto语句的作用是从goto语句无条件跳转到同一函数内的另一条语句推荐在程序中使用

    99720

    Python 为什么不支持 switch 语句

    在这篇文章里,我们会聊一聊为什么 Python 决定不支持 switch 语句为什么想要聊这个话题呢?...大多数语言都提供了 switch 语句或者极其相似的东西,例如,在 C/C++/Java /Go 等静态语言中,它们都支持 switch-case 结构;在 Ruby 中有类似的 case-when 结构...但是,在 Python 中,我们看不到 switch-case 或者相近的语法结构,这是为什么呢? 2、Python 为什么不支持 switch?...对于 PEP-275 提倡的那种风格,Guido 比较认可,但也认为它的问题是缩进层次太多,因此建议减少代码分支缩进的空格数,例如本来缩进 4 空格,改为缩进 2 空格。...最后,让我们回到标题中的问题:Python 为什么不支持 switch 语句

    1.2K41

    Python 为什么不支持 switch 语句

    在这篇文章里,我们会聊一聊为什么 Python 决定不支持 switch 语句为什么想要聊这个话题呢?...大多数语言都提供了 switch 语句或者极其相似的东西,例如,在 C/C++/Java /Go 等静态语言中,它们都支持 switch-case 结构;在 Ruby 中有类似的 case-when 结构...但是,在 Python 中,我们看不到 switch-case 或者相近的语法结构,这是为什么呢? 2、Python 为什么不支持 switch?...对于 PEP-275 提倡的那种风格,Guido 比较认可,但也认为它的问题是缩进层次太多,因此建议减少代码分支缩进的空格数,例如本来缩进 4 空格,改为缩进 2 空格。...最后,让我们回到标题中的问题:Python 为什么不支持 switch 语句

    77110

    googl中java、c++编程风格

    示例: voiddoNothing(){}   4.2 块缩进:2个空格 每当开始一个新的块,缩进增加2个空格,当块结束时,缩进返回先前的缩进级别。缩进级别适用于代码和注 释。 ...要满足本文档中其他节的空行要求(比如3.3节:import语句) 多个连续的空行是允许的,但没有必要这样做(我们也鼓励这样做)。  ...4.8.4.1 缩进 与其它块状结构一致,switch块中的内容缩进为2个空格。 每个switch标签后新起一行,再缩进2个空格,写下一条或多条语句。   ...示例: switch(input){ case1: case2:prepareOneOrTwo(); //fallthrough case3: handleOneTwoOrThree(); break;...default:handleLargeNumber(input); }   4.8.4.3 default的情况要写出来 每个switch语句都包含一个default语句组,即使它什么代码也包含。

    1K20

    关于C++基本数据类型的那些事

    真者,精诚之至也,诚,不能动人。 ? 前面详细介绍了C++语言相关的特点,以及学习这门语言需要注意的地方。 今天我们来开始学习C++的一些简单知识,比如它的字符集,基本数据类型以及一些小知识。...可能会有人问字符集是啥,下面是维基百科给出的相关定义: 按照惯例,人们认为字符集和字符编码是同义词,因为使用同样的标准来定义提供什么字符并且这些字符如何编码到一系列的代码单元(通常一个字符一个单元)。...不能是C++关键字或操作符。 这个也是在C语言里就有的,好像也没啥变化 ? 那么现在开始正式C++的一些小操作,C++会有那些基本的数据类型呢?...字符串类型: 有字符串常量 基本类型中没有字符串变量 采用字符数组存储字符串(C风格的字符串) 标准C++类库中的String类(C++风格的字符串) 在这些类型中会出现很多名称,新手不懂的可以百度百度...符号常量: 常量定义语句的形式为:const 数据类型说明符 常量名=常量值或:数据类型说明符 const 常量名=常量值。

    54360

    值得一看:老外的嵌入式编程规范

    这是尊重人的,就像某人穿着泥泞的鞋子走进一间一尘染的房子。 因此,无论本文推荐的是什么,如果已经编写了代码并且您正在对其进行修补,请保持其当前的样式一致,即使它不是您最喜欢的样式。...如果语句大于12个缩进,将注释4-空格对齐(下面的例子)到下一个可用缩进 void my_func(void) { char a, b; a = call_func_returning_char_a...---- 每个复合语句必须包括左花括号和右花括号,即使它只包含1个嵌套语句 每个复合语句必须包含单个缩进;嵌套语句时,每个嵌套包含1个缩进大小 /* OK */ if (c) { do_a()...---- 为每个case语句添加单个缩进 使用额外的单缩进break语句在每个case或default /* OK, every case has single indent */ /* OK, every...将左花括号放在case语句的同一行 switch (a) { /* OK */ case 0: { int32_t a, b; char c;

    1.2K40

    这才是理想中的 C 语言编程规范

    这是尊重人的,就像某人穿着泥泞的鞋子走进一间一尘染的房子。   因此,无论本文推荐的是什么,如果已经编写了代码并且您正在对其进行修补,请保持其当前的样式一致,即使它不是您最喜欢的样式。...如果语句大于12个缩进,将注释4-空格对齐(下面的例子)到下一个可用缩进 void my_func(void) { char a, b; a = call_func_returning_char_a...每个复合语句必须包括左花括号和右花括号,即使它只包含1个嵌套语句 每个复合语句必须包含单个缩进;嵌套语句时,每个嵌套包含1个缩进大小 /* OK */ if (c) { do_a(); } else...为每个case语句添加单个缩进 使用额外的单缩进break语句在每个case或default /* OK, every case has single indent */ /* OK, every break...将左花括号放在case语句的同一行 switch (a) { /* OK */ case 0: { int32_t a, b; char c;

    2.5K20

    C语言入门这一篇就够了(入门篇1)

    它支持结构化编程、词汇变量作用域和递归等功能,并且可以直接访问物理内存地址,进行位操作。...图片来源于网络,侵权私信 C语言具有以下特点: 简洁、紧凑、灵活:C语言只有几十个关键词和几十种语句,且没有严格的语法限制,程序员可以根据需要自由发挥。...高效率:C语言直接访问内存,以二进制方式进行操作,具有很高的运行效率。 可移植性好:C语言编写的程序具有很好的可移植性,可以在不同的操作系统和计算机上运行。...图形处理不同:C语言中的图形处理函数与C++兼容。这是因为C语言不包括图形处理标准,而C++则可以方便地使用图形库进行图形处理。...2.short(短整形):类型说明符为short int或short。所占字节和取值范围均与int相同。 3.int(整型):类型说明符为int,在内存中占4个字节。

    52750

    【笔记】《C++Primer》—— 第5章:语句

    5.3 条件语句 if语句要求控制结构中表达式的类型必须可以转为bool if语句可以层层嵌套,else if其实是嵌套if的一种不同的缩进而已,并不是特别的写法。...switch的每个case都需要是常量整形且不能重复 case不一定要break,可以故意省略break来达成多个case一口气执行,不过当使用这种写法时建议一边加上注释,一边将多个case写到同一行以强调其统一性...switch语句由于会进行语句跳转,要求不能跳过变量的初始化而使用变量,且每个case都有内部的一个作用域。...5.4 迭代语句 只要控制结构中为真while便会不断执行循环体,如果在while的控制结构或循环体中定义变量的话,这个变量将会在每次迭代中创建又销毁 一般来说while用在不能确定迭代的次数或者希望在循环结束时访问循环的控制变量的情况...goto语句是十分推荐使用的语句,它太底层太暴力了,很容易让程序变得很乱,所有的goto都能转为循环 goto语句与swicth类似,不能将程序的运行凌驾在变量的作用域上,也就是不能跳转到变量的定义之后来使用它

    72110

    利用Clang探究__block的本质

    那么问题来了,为什么被__block说明符修饰的变量就可以在block函数体内部访问呢?__block底层究竟对被修饰的变量做了什么呢?__block是如何将“外部变量”从栈中转移到堆中?...__cself->val是结构体__Block_byref_val_0类型的变量,而__cself->val->__forwarding也是结构体__Block_byref_val_0类型的变量,那么为什么直接执行...__cself->val是结构体__Block_byref_val_0类型的变量,而__cself->val->__forwarding也是结构体__Block_byref_val_0类型的变量,那么为什么直接执行...补充 __block 不同于 __strong 和 __weak,后面两个是所有权说明符,而__block是存储域说明符,该说明符会影响变量的存储域 常见的存储域说明符还有: typedef extern...auto int num = 0 该语句声明num为一个自动局部变量,意味着进入该模块时,自动为其分配存储空间,退出该模块时自动解除分配。

    7.3K20

    老外的嵌入式编程规范(值得一看)

    这是尊重人的,就像某人穿着泥泞的鞋子走进一间一尘染的房子。   因此,无论本文推荐的是什么,如果已经编写了代码并且您正在对其进行修补,请保持其当前的样式一致,即使它不是您最喜欢的样式。...如果语句大于12个缩进,将注释4-空格对齐(下面的例子)到下一个可用缩进 void my_func(void) { char a, b; a = call_func_returning_char_a...---- 每个复合语句必须包括左花括号和右花括号,即使它只包含1个嵌套语句 每个复合语句必须包含单个缩进;嵌套语句时,每个嵌套包含1个缩进大小 /* OK */ if (c) { do_a()...---- 为每个case语句添加单个缩进 使用额外的单缩进break语句在每个case或default /* OK, every case has single indent */ /* OK, every...将左花括号放在case语句的同一行 switch (a) { /* OK */ case 0: { int32_t a, b; char c;

    1.8K20
    领券