Какова цель введения мета::reflect_value в отражение С++?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Какова цель введения мета::reflect_value в отражение С++?

Сообщение Anonymous »

Я читаю документ P2996 (https://www.open-std.org/jtc1/sc22/wg21 ... 996r2.html), в котором представлено отражение на языке C++. Есть несколько примеров, показывающих, как использовать эти функции. В примере 3.2 у нас есть следующий код:

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

consteval auto member_number(int n) {
return std::meta::nonstatic_data_members_of(^S)[n];
}
Но в примере 3.14 есть:

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

std::vector args = {^To, ^From};

for (auto mem : nonstatic_data_members_of(^From)) {
args.push_back(reflect_value(mem));
}
Мой вопрос: зачем нам использоватьreflect_value во втором примере? Когда нам нужно использовать эту функцию в общем случае и как мы можем знать, что произведения nonstatic_data_members_of недостаточно?


Подробнее здесь: https://stackoverflow.com/questions/785 ... reflection
Ответить

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

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

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

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

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