2012-10-02 14 views
7

Poniżej znajduje się obsada:Czy T (x) jest uważany za obsadę?

int foo = (int) somefloat; 

Jednakże, jest to uważane za obsadę?

int foo = int(somefloat); 

Co ważniejsze, jeśli istnieje różnica pomiędzy tymi dwoma, to otrzymany kod skompilowany inaczej?

+2

Bez różnicy, naprawdę. – chris

Odpowiedz

2

Nie ma różnicy wyniku, jednak tylko pierwszy przykład może być stosowany w C. W C++ można użyć zarówno .

+0

Czy ten drugi będzie nadal uważany za obsadę w stylu C? – MarkP

+0

@MarkP sekunda to C++, w c kończysz z błędem. – Zaffy

+0

@MarkP Tak, nadal jest to obsada w stylu C z wszystkimi jej wadami. – xaizek

1

Tak, to także obsada. C++ umożliwia ten styl odlewania, C ma tylko odlewy w formacie (type)expression. Są one równoważne.

Powiązane problemy