Разрешены ли структурированные переписки в заявлениях о расширении за пределами шаблона?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Разрешены ли структурированные переписки в заявлениях о расширении за пределами шаблона?

Сообщение Anonymous »

Недавно заявления о расширении были приняты в проект C ++ 26. Это означает, что это дает нам другой способ итерации через членов разрушительных типов, таких как «точка», определенная ниже. < /P>

Код: Выделить всё

struct Point {
int x, y, z;
};

auto sum(Point p) -> int {
int result = 0;
template for (int c : p)
result += c;
return result;
}
Формулировка документа предложения с указанием:

Для цели поиска и инстанции for-range-declaration и составного создания expansion-statement . /> < /blockquote>
Что если бы я включил структурированные пакеты связывания, которые должны быть объявлены внутри составления составления < /em>. < /p>
Если тело расширения рассматривается как определение шаблона, это означает, что любой объект определяется в носовано, что изнаносилось, что в носовано, впервые завязываемое, в носовано, что в носовано. Поэтому добавлено:

объект шаблон, если это объект, определенная или созданная в рамках for-range-declaration или составления состава , если это будет связано, что это будет связано, так, если это будет связано, так, что будет связано, что это будет связано, так, что будет связано, так, что будет связано, что будет связано, что будет связано, что это будет связано, так, что будет связано, что будет связано, так, как будет связано, так, как будет связано, что это будет связано, так, как будет связано, что это будет связано, так и будет, так как это будет (Поскольку упаковка может быть объявлена ​​только шаблонной сущностью)? < /p>
auto sum(Point p) -> int {
template for (auto _ : {0}) {
auto [...parts] = p;
return (... + parts);
}

// proposed P3525: Explicit Template Regions
// template {
// auto [...parts] = p;
// return (... + parts);
// }
}
< /code>
Я знаю, что многие люди, включая меня, предпочли бы первый пример, так как он более элегантный и читаемый, чем второй, который хакерский. Но я спрашиваю здесь только о достоверности этой программы.
Я что -то здесь пропустил?

Подробнее здесь: https://stackoverflow.com/questions/796 ... e-template
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»