gpt4 book ai didi

c# - 是否可以单步执行 C++ 结构的成员?

转载 作者:太空狗 更新时间:2023-10-29 23:37:32 24 4
gpt4 key购买 nike

我想遍历 C++ 结构的成员并打印出它们的值。我可以很容易地对此进行显式编码,但是有没有什么方法可以在不知道结构中有什么的情况下做到这一点?

我想我正在寻找与 C# 的 foreach 命令等效的 C++。

感谢您的帮助。

添加:我正在用 C# 做类似的事情。此代码设置先前读取的 XML 文件中的结构成员:

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
private struct SettingsStruct
{
public uint nLength;
}

private void UpdateSettings()
{
SettingsStruct settings = new SettingsStruct();

foreach (FieldInfo fieldInfo in typeof(SettingsStruct).GetFields())
{
string settingName = "SETTING." + fieldInfo.Name.ToUpper();
if (appSettings.Contains(settingName))
{
switch (fieldInfo.FieldType.FullName)
{
case "System.UInt32":
fieldInfo.SetValueDirect(__makeref(settings), uint.Parse((string)appSettings[settingName]));
break;
}
}
}
}

最佳答案

如果您愿意使用 boost fusion,您可以这样做。首先将此结构“提升”为融合序列,然后您可以遍历打印出每个成员的序列。

关于c# - 是否可以单步执行 C++ 结构的成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6304721/

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