Код: Выделить всё
#include
#include
std::tuple foo(std::string_view sv);
class s {
public:
s(std::string_view sv);
private:
int x, y, z;
};
Код: Выделить всё
s::s(std::string_view sv) {
std::tie(x, y, z) = foo(sv);
}
s::s(std::string_view sv) : s{ foo(sv) } {}
s::s(const std::tuple& t) :
x{ std::get(t) },
y{ std::get(t) },
z{ std::get(t) }
{}
< /code>
Однако я нахожу это немного неэлегальным, поскольку это требует изменения заголовка с помощью детали реализации. Есть ли другие решения этой проблемы?
Подробнее здесь: https://stackoverflow.com/questions/795 ... lizer-list