在 java 中,经常有对象仅用于包装函数并且没有自己的任何状态。例子:
class Foo {
void foo () {
System.out.println("foo");
}
static public void main(String[] arg) {
Foo foo = new Foo();
foo.foo();
}
}
我想知道表达式new Foo()
是否针对 C++ 中的函数指针赋值进行了优化。这似乎是一件显而易见的事情,但当我想到它时,编译器将不得不检查foo
不用于同步的东西(可能还有其他东西?)。标准对此有任何说明吗?