Java到C++的转换

Java to C++ converting

本文关键字:转换 C++ Java      更新时间:2023-10-16

在Java中,我们有时会这样做:

int [] foo = new int [5]

你是如何在C++中做到这一点的?我把这个放进去了,它给了我一个错误。

std::vector<int> foo(5);

不要使用int[],如果数组的大小是固定的(你不需要新的,只需要

int a[5];

),但如果它是可变的,那就很痛苦了,因为你需要记住对它进行错误分配。

int *foo = new int[5];

这就是在不使用任何库的情况下完成的方法,但在使用完该内存后,您必须手动删除该内存,否则您将出现内存泄漏

不建议你那样想。如果阵列的大小在其使用寿命内不会改变,则应使用std::array。如果您想要一个可以动态增长的数组,则应该使用std::vector

使用

int foo[5];

int *foo = new int[5];
...
delete []foo; // remember to release its memory afterwards!!!

#include <vector>
...
std::vector<int> foo(5);