C++的关键字
同C语言的32个关键字一样,C++也有自己的关键字是63个
C语言的32个关键字
C++的63个关键字
注:关键字作为了解即可,C++慢慢用也会和C一样慢慢熟悉关键字的
命名空间
在C中你知否遇到这种情况?
这是因为在stdilb.h的标准库中有rand的函数所以与我们定义的变量名字重复了。
在C++ 中为了避免这种情况namespace这个关键字出现了
命名空间的定义
格式:namespace XXX
{
// 命名空间中可以定义变量/函数/类型
}
namespace Fregion
{
int a = 0;
int add(int a, int b)
{
return a + b;
}
struct Node
{
struct Node* next;
int val;
};
}
这样我们就定义了一个以 Fregion为名的命名空间
而且用namespace的时候也能嵌套使用
namespace Fregion
{
namespace inregion
{
int a = 0;
}
int a = 0;
}
而在同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中
如图
在一个工程中的test.h和上面test.cpp中两个Fregion会被合并成一个
命名空间的使用
1.加命名空间名称及作用域限定符
2.使用using将命名空间中某个成员引入
3.使用using namespace 命名空间名称 引入
C++ 输入输出
虽然C的语法在C++中能兼用,但是我们学习C++的输入输出也义不容辞
这便是C++zhong 的打印方法
说明:
- 使用cout标准输出对象(控制台)和cin标准输入对象(键盘)时,必须包含< iostream >头文件
以及按命名空间使用方法使用std。 - cout和cin是全局的流对象,endl是特殊的C++符号,表示换行输出,他们都包含在包含<
iostream >头文件中。 - <<是流插入运算符,>>是流提取运算符。
- 使用C++输入输出更方便,不需要像printf/scanf输入输出时那样,需要手动控制格式。
C++的输入输出可以自动识别变量类型。 - 实际上cout和cin分别是ostream和istream类型的对象,>>和<<也涉及运算符重载等知识,这些知识我们我们后续才会学习,所以我们这里只是简单学习他们的使用。后面我们还有有一个章节更深入的学习IO流用法及原理。
- endl就是换行的意思
缺省参数
全缺省参数
void a(int a = 10, int b = 20, int c = 30)
{
cout << "a= " << a << endl;
cout << "b= " << b << endl;
cout << "c= " << c << endl;
cout << endl;
}
缺省参数
void a(int a , int b = 20, int c = 30)
{
cout << "a= " << a << endl;
cout << "b= " << b << endl;
cout << "c= " << c << endl;
cout << endl;
}
注意:
- 半缺省参数必须从右往左依次来给出,不能间隔着给
- 缺省参数不能在函数声明和定义中同时出现
- 缺省值必须是常量或者全局变量
- C语言不支持(编译器不支持)