2012-10-02 28 views
7

以下是投:T(x)是否被視爲演員?

int foo = (int) somefloat; 

然而,這被認爲是鑄造?

int foo = int(somefloat); 

更重要的是,如果兩者之間存在差異,則得到的編譯代碼是不同的?

+2

沒有區別,真的。 – chris

回答

2

沒有結果的差異,但只有第一個例子可以用C語言來使用在C++中,你可以同時使用。

+0

第二個仍然會被視爲C風格演員? – MarkP

+0

@MarkP第二個是C++,在c中你會以錯誤結束。 – Zaffy

+0

@MarkP是的,它仍然是C風格演員,具有所有缺點。 – xaizek

1

是的,這也是演員陣容。 C++支持這種風格的轉換,C只有(type)expression格式轉換。它們是相同的。