程序结构
C++ 程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互。
实例
1 |
|
注意,标准库里的名字都加上 std::
的前缀。如: std::vector
。
自己也可以定义一个名字空间。取名 myspace
,再在这个空间里写一个 cout
函数来实现。调用时,就成了 myspace::cout
。
注释
C++ 支持单行注释和多行注释。注释中的所有字符会被 C++ 编译器忽略。
C++ 注释一般有两种:
1 | // - 一般用于单行注释。 |
在 /*
和 */
注释内部,//
字符没有特殊的含义。在 //
注释内,/*
和 */
字符也没有特殊的含义。可以在一种注释内嵌套另一种注释。块注释符(/*...*/
)是不可以嵌套使用。例如:
1 | /* 用于输出 Hello World 的注释 |
分号与语句块
在 C++ 中,分号是语句结束符。如:
1 | x = y; |
语句块是一组使用大括号括起来的按逻辑连接的语句。如:
1 | { |
C++ 不以行末作为结束符的标识,可以在一行上放置多个语句。如:
1 | x = y; |
标识符
C++ 标识符是用来标识变量、函数、类、模块,或任何其他用户自定义项目的名称。一个标识符以字母 A-Z
或 a-z
或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9),可以使用带有 $
的标识符。注意,C++ 区分大小写。
C++ 标识符内不允许出现标点字符,比如 @
、&
和 %
。
1 | int _2a$=0x99; |
关键字
Post not found: C-关键字介绍三字符组
三字符组就是用于表示另一个字符的三个字符序列,又称为三字符序列。三字符序列总是以两个问号开头。
三字符序列不太常见,但 C++ 标准允许把某些字符指定为三字符序列。以前为了表示键盘上没有的字符,这是必不可少的一种方法。
三字符序列可以出现在任何地方,包括字符串、字符序列、注释和预处理指令。
下面列出了最常用的三字符序列:
1 | 三字符组 替换 |
如果希望在源程序中有两个连续的问号,且不希望被预处理器替换,这种情况出现在字符常量、字符串字面值或者是程序注释中,可选办法是用字符串的自动连接:"...?""?..."
或者转义序列:"...?\?..."
。
从 Microsoft Visual C++ 2010 版开始,该编译器默认不再自动替换三字符组。如果需要使用三字符组替换(如为了兼容古老的软件代码),需要设置编译器命令行选项/Zc:trigraphs
g++仍默认支持三字符组,但会给出编译警告。