c++ - 在 C++20 中迭代结构的成员
问题描述
我记得 C++20 具有迭代结构中成员的功能,我阅读了一篇关于它的博客,其中包含示例代码,但我再也找不到它了。
例如:
struct Foo {
std::string a;
std::string b;
std::string c;
};
struct Bar {
std::string e;
std::string f;
};
template <typename T>
void PrintMember (T& t) {
// what to do to iterate members in C++ 20?
}
模板的代码可能看起来不像,因为 C++20 有概念。知道如何编写代码来迭代Foo
和中的成员Bar
吗?
PS我记得它使用概念来解决问题,但也许我错了或者博客错了(这就是我再也找不到它的原因),回答“不,你不能,即使在 C++ 20”是受欢迎的。
PPS 一件事我没有澄清,我不需要字段名称,但我需要迭代所有字段,包括继承的字段。
解决方案
推荐阅读
- javascript - Webpack 5.3.1 TypeError:Object.getOwnPropertyDescriptors 不是函数
- .net-core - 如何排除程序集被打包到 PublishSingleFile 应用程序中
- c# - 如何更改 IdentityServer OIDC 发现端点基本 URL?
- python - 从图片 PILLOW 中删除选定区域
- python - 创建域名和ips到字节的文件
- python - 根据值转换python列表中的值
- reactjs - useEffect() 触发组件在一个函数中重新呈现,但不在另一个函数中。两个函数都改变状态。我错过了什么?
- python - 为什么我的不和谐机器人代码没有运行任何东西?
- visual-studio-code - Visual Studio Code 中的多个 SSH 连接
- json - 在vue中合并mixin