可以安全地從雙數組memcpy到浮點數組嗎?從雙數組到浮點數組的C++ memcpy
回答
取決於你想要的。值肯定不會被保留。如果您需要,請使用std::copy
。
#include <algorithm>
int main()
{
double a[] = {1.618, 3.1416, 2.7, 0.707, 1.0};
float b[5];
std::copy(a, a + 5, b);
}
號
評論必須至少包含15個字符,但這並不適用於答案?奇怪:) – fredoverflow 2010-06-02 15:46:38
答案必須至少有15個字符:) – 2010-06-02 15:59:06
@Daniel Daranas:哈哈!只是看到你的醜陋攻擊「克服」了限制。聰明;) – ereOn 2010-06-02 16:07:26
的問題是,有沒有保證,一個double
的編譯器的二進制表示是float
的等效表示。爲了對多字節類型使用memcpy
,基礎表示必須是相同的(相同的佈局)。您可以安全複製float
至float
,int
至int
和double
至double
。
你註定爲未定義行爲當源類型不匹配目標類型,如複製從long
到char
或float
到double
。 memcpy
函數不會進行任何轉換或執行任何促銷。它只是複製。
一般情況 - 沒有。
在特定情況下,在給定的平臺上,float
和double
的表示可能相同,並且副本將成功。但它無論如何都沒有任何實際意義。
- 1. std :: copy複製一個浮點數組的雙精度數組?
- 2. 從一個字符數組到一個整數的C++ memcpy
- 3. 浮點數組到圖像
- 4. 找到浮點數組
- 5. C++ boost bo數據浮點數組
- 6. 將字符串數組和浮點數組從C#保存到Excel文件
- 7. int數組上的浮點異常 - C
- 8. 目標中的浮點數組C
- 9. C#將結構數組複製到雙精度數組
- 10. 將雙浮點數從.dat文件存儲到一維數組中
- 11. 字符數組到浮點數轉換
- 12. 如何memcpy C中的二維數組?
- 13. 是C Vaxocentrist中的數組memcpy?
- 14. 如何將2維浮點數組從QML傳遞到C++?
- 15. 用數值c替換浮點數值a到b大數組
- 16. 數組從C++到C#
- 17. c中的浮點數和雙精度#
- 18. OpenGL的:兩個頂點數組+雙數組索引
- 19. 二維字符串數組浮點數組c#
- 20. 二維數組上的memcpy
- 21. 如何將浮點數組轉換爲Java中的雙精度數組?
- 22. C#傳遞雙數組到C++ dll
- 23. 從C函數調用傳遞一個浮點數組的Objective C函數
- 24. C++數組[從:到]
- 25. c#轉換從大到小排序浮點數的字節數組
- 26. 返回浮點數組
- 27. C浮點數和雙重比較
- 28. Objective-C浮點數/雙精度
- 29. 列表/數組字符串到numpy浮點數組
- 30. 從memcpy回到雙變量
取決於您的安全。 – 2010-06-02 15:24:48