如何在c++中初始化一个双精度数组
How to initialize an array of doubles in c++?
我意识到在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)的唯一方法是编写一个循环
相关文章:
- 将双精度变量设置为另一个变量的值
- 我在C++中使用提升哈希函数将 3 个双精度组合成一个面临冲突的哈希
- 为什么 Clang std::ostream 写一个 std::istream 无法读取的双精度?
- Fmod 函数清楚地输出一个预期的双精度值,但 if(fmod == 预期的双精度值)的计算结果不是 true
- C++ 警告:在一个声明中将截断从双精度初始化为浮点数,但在另一个声明中则不初始化
- 字符串和双精度的麻烦,等值后再得到一个数字
- 我想读取文本文件中的所有内容(但文本文件中只有一个双精度值),转换为双精度值并返回值
- 在编译时将整数和分数部分宏组合成一个新的宏或双精度
- 将 32 位浮点数和不强制转换的 32 位整数与双精度进行比较,当其中一个值可能太大而无法完全适合另一种类型时
- 有没有办法构造一个 constexpr 函数来获取双精度的位表示
- C++ 传递一个 int,错误地说这是一个双精度
- 在C++中获取大于或等于一个双精度的最小浮点值(以及小于或等于一的最大浮点值)
- 在字符串(C++)的末尾添加一个双精度
- C++试图返回一个双精度数组的字符串(有点)
- 如何找到最近的下一个/上一个双精度值(给定数字的numeric_limits::epsilon)
- C++函数在一个双精度数组中查找最大值
- 两个整型到一个双精度c++
- 如何用代数工具创建一个双精度矩阵
- 当我从函数返回一个双精度值时,它变成了一个整数
- 在程序中稍后传递一个双精度-使用对话框进行输入