C++动态内存空间示例(自定义空间类型大小和空间长度)
在C++中,我们可以使用动态内存分配来创建自定义大小和长度的内存空间。这可以通过使用new
和delete
运算符来实现。下面是一个完整的攻略,包含两个示例说明。
示例1:动态分配整型数组
#include <iostream>
int main() {
int length;
// 获取用户输入的数组长度
std::cout << \"请输入数组长度:\";
std::cin >> length;
// 动态分配内存空间
int* arr = new int[length];
// 为数组赋值
for (int i = 0; i < length; i++) {
arr[i] = i + 1;
}
// 打印数组元素
std::cout << \"数组元素为:\";
for (int i = 0; i < length; i++) {
std::cout << arr[i] << \" \";
}
// 释放内存空间
delete[] arr;
return 0;
}
在这个示例中,我们首先获取用户输入的数组长度。然后,使用new
运算符动态分配了一个整型数组的内存空间,并将返回的指针赋值给arr
变量。接下来,我们使用循环为数组赋值,并打印数组的元素。最后,我们使用delete[]
运算符释放了动态分配的内存空间。
示例2:动态分配自定义类型的对象数组
#include <iostream>
#include <string>
class Person {
public:
std::string name;
int age;
Person(std::string n, int a) : name(n), age(a) {}
};
int main() {
int length;
// 获取用户输入的数组长度
std::cout << \"请输入数组长度:\";
std::cin >> length;
// 动态分配内存空间
Person* people = new Person[length];
// 为每个对象赋值
for (int i = 0; i < length; i++) {
std::string name;
int age;
std::cout << \"请输入第 \" << i + 1 << \" 个人的姓名:\";
std::cin >> name;
std::cout << \"请输入第 \" << i + 1 << \" 个人的年龄:\";
std::cin >> age;
people[i] = Person(name, age);
}
// 打印每个对象的信息
std::cout << \"每个人的信息为:\" << std::endl;
for (int i = 0; i < length; i++) {
std::cout << \"姓名:\" << people[i].name << \",年龄:\" << people[i].age << std::endl;
}
// 释放内存空间
delete[] people;
return 0;
}
在这个示例中,我们定义了一个Person
类,该类具有name
和age
成员变量。我们首先获取用户输入的数组长度。然后,使用new
运算符动态分配了一个Person
对象数组的内存空间,并将返回的指针赋值给people
变量。接下来,我们使用循环为每个对象赋值,并打印每个对象的信息。最后,我们使用delete[]
运算符释放了动态分配的内存空间。
以上就是C++动态内存空间示例的完整攻略,希望对你有帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c++动态内存空间示例(自定义空间类型大小和空间长度) - Python技术站