这一方案是否没有界定行为?
struct Storage {
void store(void (*&&fp)()) { fpp = &fp; }
void call() const { (*fpp)(); }
void (**fpp)();
};
void f();
int main() {
Storage s;
s.store(&f); // I think, the temporary variable &F is freed at the ;
s.call();
}