1
爲什麼(new Foo())->baa()
有效,但是new Foo()->baa()
沒有?它是否與->
優先或類似的事情?我不知道正確的稱呼這個,我是新來的C++ ...爲什麼(new Foo()) - > baa()可以工作,但是新的Foo() - > baa()沒有?
爲什麼(new Foo())->baa()
有效,但是new Foo()->baa()
沒有?它是否與->
優先或類似的事情?我不知道正確的稱呼這個,我是新來的C++ ...爲什麼(new Foo()) - > baa()可以工作,但是新的Foo() - > baa()沒有?
這是因爲operator precedence。 ()
和->
比new
更高的優先級,那麼第二個表達式被視爲如果你寫:
new (((Foo() -> baa)()))
因爲'Foo'需要擁抱的時候,才做任何事情,甚至遠程生產。 –
顯然,船長! –