C++数据类型
C++数据类型是指在C++编程语言中可以使用的基本数据类型和复杂数据类型。这些数据类型决定了变量或对象的内存分配、存储方式和操作规则。
1. 动态内存分配和指针
在C++中,动态内存分配是通过new和delete运算符来实现的。new运算符可以分配内存并返回一个指向该内存的指针,而delete运算符则可以释放内存。例如:
```c
int *pi = new int; // 分配一个整数的内存
delete pi; // 释放内存
```
在上面的代码中,我们使用new运算符分配了一个整数的内存,并将其存储在指针pi中。然后,我们使用delete运算符释放了该内存。
需要注意的是,从new表达式返回的不是实际的对象,而是该对象的地址。所有的对象操作都是通过这个地址间接完成的。
2. const 修饰符
const修饰符用于指定一个对象或变量是常量。例如:
```c
const int i = 10; // 定义一个常量整数
```
在上面的代码中,我们使用const修饰符定义了一个常量整数i。
3. 引用类型
引用类型是C++中的一个复杂数据类型。引用实际上是对象的别名,即除了名字不同其他都是一样的。引用可以看作是对象的别名,但它不是对象本身。例如:
```c
int i = 10;
int &ri = i; // 定义一个引用ri,指向对象i
```
在上面的代码中,我们定义了一个整数i和一个引用ri,ri指向对象i。通过ri,我们可以操作对象i。
需要注意的是,引用必须指向一个对象,引用定义时必须被初始化,这和定义常量一样。引用被定义后就不能再指向其他对象。
4. 布尔类型
布尔类型是C++中的一个基本数据类型。布尔型对象可以被赋以文字值true或false。例如:
```c
bool ff = false; // 定义一个布尔型对象ff
```
需要注意的是,虽然布尔类型的对象也可以被看作是一种整数类型的对象,但是它不能被声明为signed、unsigned、short等。
5. 枚举类型
枚举类型是C++中的一个复杂数据类型。枚举类型可以定义一组命名的整数常量。例如:
```c
enum Color { Red, Green, Blue }; // 定义一个枚举类型Color
```
在上面的代码中,我们定义了一个枚举类型Color,它包含三个命名的整数常量:Red、Green和Blue。
6. 文字常量
文字常量是C++中的一个基本数据类型。文字常量可以是整数、浮点数、字符、字符串等。例如:
```c
int i = 10; // 定义一个整数文字常量
double d = 3.14; // 定义一个浮点数文字常量
char c = 'a'; // 定义一个字符文字常量
const char *str = "hello"; // 定义一个字符串文字常量
```
7. 变量
变量是C++中的一个基本概念。变量可以存储不同的值,可以是整数、浮点数、字符、字符串等。例如:
```c
int i; // 定义一个整数变量
double d; // 定义一个浮点数变量
char c; // 定义一个字符变量
const char *str; // 定义一个字符串变量
```
8. 指针类型
指针类型是C++中的一个复杂数据类型。指针类型可以存储对象的地址。例如:
```c
int *pi = new int; // 定义一个整数指针pi
```
在上面的代码中,我们定义了一个整数指针pi,并使用new运算符分配了一个整数的内存。
9. 字符串类型
字符串类型是C++中的一个复杂数据类型。字符串类型可以存储一组字符。例如:
```c
const char *str = "hello"; // 定义一个字符串
```
10. Vector 容器类型
Vector 容器类型是C++中的一个复杂数据类型。Vector 容器类型可以存储一组对象。例如:
```c
vector<int> vi; // 定义一个整数Vector容器
```
11. pair 类型
pair 类型是C++中的一个复杂数据类型。pair 类型可以存储两个对象。例如:
```c
pair<int, int> pi; // 定义一个整数pair
```
12. 类类型
类类型是C++中的一个复杂数据类型。类类型可以定义一组成员变量和成员函数。例如:
```c
class MyClass {
public:
int i;
void print() {
cout << i << endl;
}
}; // 定义一个类MyClass
```
在上面的代码中,我们定义了一个类MyClass,它包含一个整数成员变量i和一个成员函数print。