我记得能够做这样的事情,但我不记得怎么做。我想从ColorA数据类型中提取浮点数,在C ++中最短的语法是什么?
ColorA(r,g,b,a)= material.getAmbient();
最佳答案
如果愿意提供std::tie
功能,则可以在此处使用to_tuple
。元组转换函数has problems具有更复杂的解决方法,因此该解决方案非常简单。
struct ColorA
{
float r, g, b, a;
auto to_tuple() const
{
return std::make_tuple(r, g, b, a);
}
};
int main()
{
float r, g, b, a;
ColorA color;
std::tie(r, g, b, a) = color.to_tuple();
return 0;
}
关于c++ - C++语法将ColorA拆分为浮点数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29189389/