#include <boost/phoenix/bind/bind_member_variable.hpp>
Переменные членов также могут быть связаны так же, как функции членов. Переменные не являются функциями. Тем не менее, как и<ref(x)>, которая действует как нулевая функция, возвращая ссылку на данные, переменные-члены при связывании действуют как унарная функция, принимая в качестве аргумента указатель или ссылку на объект и возвращая ссылку на связанную переменную-член. Например, учитывая:
struct xyz
{
int v;
};
<xyz::v>могут быть связаны как:
bind(&xyz::v, obj)
Как уже отмечалось, подобно функции связанного члена, переменная связанного члена также ожидает, что первый (и единственный) аргумент будет указателем или ссылкой на объект. Объект (ссылка или указатель) может быть лениво связан. Примеры:
xyz obj;
bind(&xyz::v, arg1)
bind(&xyz::v, obj)
bind(&xyz::v, arg1)(obj) = 4