Would that be a good idea to make tuples like initializer_list of different types?
14:35 18 Feb 2026

std::initializer_list is baked into the language. If std::tuple had the same treatment, std::initializer_list would become "speacial" case for std::tuple where all types are the same.

I wanted to simplify some code that calls the same function with different set or params:

auto val = QueryRegString(HKEY_LOCAL_MACHINE, L"Windows Kits\\Installed Roots", L"KitsRoot10");
/// work with val
val = QueryRegString(HKEY_LOCAL_MACHINE, L"Windows Kits\\Installed Roots", L"KitsRoot81");
/// work with val
val = QueryRegString(HKEY_LOCAL_MACHINE, L"Microsoft SDKs\\Windows\\v7.1", L"InstallationFolder");
/// work with val

I wanted to rewrite it like that:

const auto regs[] = {
    {HKEY_LOCAL_MACHINE, L"Windows Kits\\Installed Roots", L"KitsRoot10"},
    {HKEY_LOCAL_MACHINE, L"Windows Kits\\Installed Roots", L"KitsRoot81"},
    {HKEY_LOCAL_MACHINE, L"Microsoft SDKs\\Windows\\v7.1", L"InstallationFolder"},
};
for (const auto& reg : regs)
{
    auto val = QueryRegString(std::get<0>(reg), std::get<1>(reg), std::get<2>(reg));
    /// work with val
}

this, however, doesn't work, as auto cannot be used with arrays. But this works:

const auto regs = {
    std::make_tuple(HKEY_LOCAL_MACHINE, L"Windows Kits\\Installed Roots", L"KitsRoot10"),
    std::make_tuple(HKEY_LOCAL_MACHINE, L"Windows Kits\\Installed Roots", L"KitsRoot81"),
    std::make_tuple(HKEY_LOCAL_MACHINE, L"Microsoft SDKs\\Windows\\v7.1", L"InstallationFolder"),
};

this basically becomes initializer_list of tuples. If tuples were baked into the language similar to initializer list then we could simply write stuff like this:

const auto regs = {
    {HKEY_LOCAL_MACHINE, L"Windows Kits\\Installed Roots", L"KitsRoot10"},
    {HKEY_LOCAL_MACHINE, L"Windows Kits\\Installed Roots", L"KitsRoot81"},
    {HKEY_LOCAL_MACHINE, L"Microsoft SDKs\\Windows\\v7.1", L"InstallationFolder"},
};
for (const auto& reg : regs)
{
    auto val = QueryRegString(std::get<0>(reg), std::get<1>(reg), std::get<2>(reg));
    /// work with val
}

or even even better make array of deduced tuples:

const auto regs[] = { ... };

Is there anything in c++ standard considered for to make it work in the future?

c++ tuples