如何在c++中初始化一个双精度数组

How to initialize an array of doubles in c++?

本文关键字:一个 双精度 数组 c++ 初始化      更新时间:2023-10-16

我意识到在c++中,我无法用memset初始化double的数组。对于整数数组,我可以使用轻松初始化数组

int* a = new int[n];
memset(a, n*n, n*sizeof(int));

但是,如何在c++中初始化一个双精度数组呢?

long double* d = new long double[n];
memset(d, n*n, n*sizeof(long double)); // does not work
memset(a, n*n, n*sizeof(int));

这可能不是你所期望的。文档表示,param值被转换为无符号字符。每个字节都将设置为该值。当你看到组成int的4或8个字节时,你会得到垃圾。我看到传递的唯一有用的值是0。这将启动一个双重以及

将一个数字数组初始化为已知值(如42)的唯一方法是编写一个循环

相关文章: