巧用enum来获取std::tuple中的元素

本文介绍了如何通过使用enum来提高std::tuple元素访问的可读性,引用了Scott Meyers的《Effective Modern C++》中的Item 10。通过enum代替索引,可以为每个元素提供清晰的名称,特别是在处理多个元素时。enum的隐式类型转换特性使得它可以作为下标使用,但需要注意unscoped enum可能造成的命名空间污染问题。建议使用namespace包裹unscoped enum定义,以保持代码的清晰和安全性。
摘要由CSDN通过智能技术生成

今天看Scott Meyers的《Effective Modern C++》的Item 10: Prefer scoped enums to unscoped enums 。他建议我们在获取std::tuple中的元素时(利用std::get()),可以用unscoped enums来代替索引值index,这样可以增强程序的可读性,原例如下:

using UserInfo =
std::tuple<std::string, // name
            std::string, // email
            std::size_t> ;// reputation

UserInfo uInfo; // object of tuple type
...
auto val = std:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值