C++在C的基础上添加了面向对象编程和泛型编程的支持.C++继承了C语言高效, 快速和可移植的传统.
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
return 0;
}
:: 作用域运算符
直接使用时全局作用域, ::a 表示全局变量a
std::cout 表示是std下的cout
namespace命名空间
用来解决命名冲突的问题
必须定义在全局作用域下
可以放函数, 变量, 结构体, 类
可以嵌套命名空间
命名空间是开放的, 可以往原先的命名空间添加内容
匿名命名空间, 相当于static, 只能在当前文件内使用
命名空间别名 namespace B=A;
头文件中
namespace 空间名{
void func;
}
实现
void 空间名::func(){
}
调用
空间名::fuc();
using
using 空间名::使用;
using namespeace 空间名;
const
取地址会分配临时内存
extern 会给变量分配内存
用变量初始化const常量也会分配内存
自定义数据类型 加const也会分配内存
尽量用const代替define
define 在预处理阶段已经处理完成, 编译器根本不知道 宏定义的东西
define 无类型, 不进行类型检查
const 有作用域, define不重视作用域,
引用
引用就是起别名
&在左侧是引用, 右侧是取地址int &b=a; int *b=&a;
引用的实现(引用的本质是指针常量)
int& b=a; 实际上是 int* const b = &a;
b=100; 实际上是*b=100;