Ответ 1
В С++ код выглядит следующим образом:
#include <vector>
void function()
{
std::vector<double> array(100);
//some work that can return when or throw an exception
//...
return;
}
Если вы действительно не хотите инициализировать элементы массива и не нуждаетесь в изменении размера массива и не нуждаетесь в итераторах, вы также можете использовать:
#include <memory>
void function()
{
std::unique_ptr<double[]> array(new double[100]);
//some work that can return when or throw an exception
//...
return;
}
В обоих случаях вы получаете доступ к элементам массива с помощью array[0]
, array[1]
и т.д.
Наконец, если вам не нужно передавать права собственности на данные из функции, знайте размер массива во время компиляции, а размер не слишком велик, вы также можете рассмотреть вопрос о наличии объекта прямого массива
void function()
{
double array[100]; // uninitialized, add " = {}" to zero-initialize
// or:
std::array<double, 100> array; // ditto
//some work that can return when or throw an exception
//...
return;
}