Appearance
第一个C++程序
在之前的两文中,你已经理解了,C程序是如何编写、编译、执行的,C++作为其衍生和扩展,自然有与之不同的地方,但基本相似
与C语言相似的,C++也封装了一个输入输出库iostream,并使用**命名空间(NameSpace)**来隔绝于开发者的自行函数封装
cpp
// C
// #include <stdio.h>
// C++
#include <iostream>
using namespace std; // 该行也可不写,但要在后续使用时,以std::func的方式显式地指明该函数来自命名空间std
int main(void){
cout<<"Hello World"<<endl;
// std::cout<<"Hello World"<<std::endl; //显式地指明
}与之不同的是,C++使用g++、clang++等编译指令以区分于C语言
Token与代码规范
Token
源代码中一行代码中最小的不可分割元素称为Token(标记)。
因此通常情况,必须要以空格、制表符或回车分开两个不同的token以区分。空格、制表符和回车统称为空白
而有些字符(如括号、逗号等)是不需要使用空白分开的Token。
关键字
关键字是被保留的特殊的标识符,拥有固定的语法意义,即关键字无法被用作变量名、函数名亦或重定义。
using关键字用于指明使用的命名空间int关键字用作于变量的类型声明,能够与其他关键字结合,如short int等void关键字作为值集合为空的类型,它是不完整的类型,不能完整化。不允许有void类型的对象,但允许指向void的指针和返回void类型的函数,或被用于无参数函数的函数列表。即无法使用void创建一个变量或数组等。
cout和endl,二者是命名空间std下的标准输入输出流函数,并非关键字
后续会详细展开
命名空间
命名空间(NameSpace)是一种隔离不同开发者开发重名函数诞生的作用域声明。它将同一重名的函数区分在不同的命名空间下,从而防止在引用时出现错误。
在上述的程序中即使用了命名空间std中的cout函数和endl函数,以输出字符和换行,准确的说是将字符流和换行插入到输出流中。