Code: Select all
#include
#include
std::tuple foo(std::string_view sv);
class s {
public:
s(std::string_view sv);
private:
int x, y, z;
};
Code: Select all
s::s(std::string_view sv) {
std::tie(x, y, z) = foo(sv);
}
s::s(const std::tuple& t) :
x{ std::get(t) },
y{ std::get(t) },
z{ std::get(t) }
{}
< /code>
Ich finde es jedoch ein bisschen unelegant, da es erfordert, dass der Header mit einem Implementierungsdetail geändert wird. Gibt es andere Lösungen für dieses Problem?