Здравствуйте, Ikemefula, Вы писали:
_>>Ты говоришь о чём-то вроде такого
_>>_>>auto F() {return select(users.id, users.name).from(users).where(users.total>total).as(rich_users);}
_>>auto q=F();
_>>for(const auto& row: db(select(orders.user).from(orders.join(q).on(orders.user==q.id)).where(orders.year>year))){
_>> //...
_>>}
_>>
_>>кода?
I>Покажи, как это делать в с++. Намекать "илиментарщина" не надо.
Приблизительно так:
#include <sqlpp11/sqlpp11.h>
I>В C# это работает через ExpresstionTree. Чем ты заменишь этот механизм в С++ ?
Вообще то построение деревьев выражений в C++ возможно уже давным давно. Более того, насколько я помню Евгений уже даже когда-то показывал тебе элементарные примеры подобного. Конечно оно выглядит совсем не изящно и лаконично, так что авторам библиотек на базе данной техники приходится поднапрячься. Зато у пользователей таких библиотек никаких проблем нет — удобство не меньше чем у linq вариантов (ну а эффективность очевидно лучше по определению).