मैं निम्नलिखित कोड है:std :: बाँध संदर्भ खो देते हैं जब rvalue संदर्भ के रूप में वितरित
#include <stdio.h>
#include <functional>
template <typename T>
auto callback(T&& func) ->decltype(func())
{
return func();
}
double test(double& value)
{
value=value+1.0;
return value;
}
int main(void)
{
double t=1.0;
printf("%f\n",t);
test(t);
printf("%f\n",t);
callback(std::bind(test,t));
printf("%f\n",t);
}
और यह
1.000000
2.000000
2.000000
callback
समारोह का तात्पर्य कौन सा बजाय t
की एक प्रति मिली एक के आउटपुट t
का संदर्भ। मैं सोच रहा हूं कि क्या हुआ, क्योंकि std::bind
के लिए यह सही-अग्रेषण होना चाहिए।