- 主题:头文件里声明函数如何使用自动推导返回值类型?
std::tuple降低代码可读性,我是不用的。
--
FROM 222.130.138.*
std::tuple完全是编译期的,不会有额外的性能开销
但是用下标数字去引用成员,搞不好就错位了,这就是降低代码可读性、可维护性的地方
即便是把下标数字定义成容易记忆的枚举,改变顺序时也要同步修改这些枚举,忘了就完了,那我为啥不用struct
感觉适合局部使用,不适合大跨度使用,比如跨模块等,不然到处要看某个下标到底是啥
【 在 horkoson 的大作中提到: 】
:
: 俞飞鸿,std::tuple用来存储不同类型的对象时,性能有没损失?
--
修改:z16166 FROM 222.130.138.*
FROM 222.130.138.*
反射是运行期的,跟tuple没关系
【 在 ylh0315 的大作中提到: 】
: 解决不了反射问题。
: 试图用tuple代替反射没有成功。
--
FROM 222.130.138.*
感谢提醒,回头学一下c++26那个静态反射提案
我特指类似java那种"根据对象名字创建对象、根据成员函数名字调用成员函数”
不过在打包可变参数时,可能会用std::tuple,而class的成员函数列表、成员变量列表都是可变的,所以有用std::tuple来自己撸反射的搞法。
【 在 milksea 的大作中提到: 】
: 静态反射是c++热点需求啊
--
FROM 222.130.138.*
有道理。不用std::get<0>(x)、std::get<1>(x)这种
【 在 ziqin 的大作中提到: 】
: 一般和Structured binding一起用吧
: 返回向量方便一些
:
--
FROM 222.130.138.*