Ist das Verhalten des folgenden Codes gut definiert? Wie verhält sich der Anruf f()
?Ist das Verhalten eines durch std :: bind erstellten Funktors gut definiert, wenn das gebundene Objekt abläuft?
#include <functional>
#include <iostream>
struct A
{
void shout()
{
std::cout <<"shout";
}
};
int main()
{
std::function<void()> f;
{
A a;
f = std::bind(&A::shout, &a);
}
f(); // what happens here?
}
[Demo] (https://ideone.com/HGmlXq) –