C++动态存储分配
可以兼容C语言的动态存储分配
- malloc();
- free();
- new();
- delete();
new 类型名;
new 类型名(初始值);
new 类型名[个数];
double *ptr = new double[3];
delete 指针名;
delete [ ] 指针名;
delete 操作对象只能是new出来的
初始化
int a = 1;
int a(1);
int a();//这个是函数,无参数,返回值int类型。
//列表初始化
int a{1};
int a = {1};
int a{ };//初始化a的值为0
结构体
结构体是特殊的类,比类有更多的约束。
C++中结构体的成员,可以是变量,也可以是函数。
强制类型转换
- (类型)值
- (类型)(值)
- 类型(值)
还有使用强制类型转换符的情况:
- 静态转换
- 动态转换
- 重新解释
- 去除指针或引用的const属性
格式:强制类型转换运算符<目标类型>(要转换的值)
基于范围的for循环
for(数据类型 迭代变量:范围)
{
//循环体
}
int a[5] = {1, 2, 3, 4, 5};
for(int i: a)
{
cout << a;
}
输出结果:
12345