C++语句结束处分号(;)问题
一、前言
C++中大多数语言以分号结束。也存在空语句,即单独一个分号。但是多余的空语句并非总是无害的。特记录何时该加分号何时不该加。
二、何时该加分号
- 一条语句结束处应加分号
- 复合语句(块)是指用花括号({ })括起来的语句序列。块后面不需要分号,因为在程序中,语法上需要一条语句,但是逻辑上需要多条语句就会用到块。如:for、if、while后不止一条语句时而使用块,块结束处不需要分号。注:do while的while后仍需要分号,因为它不是以块结束。
- 类体右侧表示结束的花括号必须写一个分号,这是因为类体后面可以紧跟变量名以示对该类型对象的定义,所以分号必不可少。
struct User {
/* */
} xiaoming, xiaobai, xiaohongp;
//由于在结构体后面可能会跟上对对象的定义,所以必须要有分号