gpt4 book ai didi

c# - 相当于 C# 中 C++ 的 sizeof(uint64Array) 吗?

转载 作者:行者123 更新时间:2023-12-02 06:03:22 26 4
gpt4 key购买 nike

在此代码上:http://prng.di.unimi.it/xoshiro256plus.c他们这样做:

static const uint64_t JUMP[] = { 0x180ec6d33cfd0aba, 0xd5a61266f0c9392c, 0xa9582618e03fc9aa, 0x39abdc4529b1661c };

for(int i = 0; i < sizeof JUMP / sizeof *JUMP; i++)

sizeof JUMP/sizeof *JUMP 是什么意思以及如何将其移植到 C# ?

sizeof JUMP 似乎是 Marshal.Sizeof(JUMP) 根据 https://learn.microsoft.com/fr-fr/dotnet/api/system.runtime.interopservices.marshal.sizeof?view=netframework-4.8

但是 Marshal.Sizeof(*JUMP) 无法在安全模式下执行,并且我无法使用不安全的代码。

根据此页面:https://en.cppreference.com/w/cpp/language/sizeof sizeof JUMP/sizeof *JUMP 返回数组的长度。既然 JUMP 长度已知,为什么不直接输入 4 呢?

谢谢。

最佳答案

why not just put 4 instead as JUMP length is known

因为与 C# 的数组不同,您不能简单地在 C++ 中访问数组的 Length 属性。是的,4 是今天的正确答案,但是如果有人稍后编辑数组并且有 3 或 5 个条目怎么办?他们还必须记住编辑for

关于c# - 相当于 C# 中 C++ 的 sizeof(uint64Array) 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61096971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com