Malloc i rzutowanie typu?

0

Zastanawia mnie po co przy poprawnej alokacji pamieci dla tablicy trzeba rzutowac jej typ nawet na ten sam, jest jakies sensowne zastosowanie (dobra praktyka, kompatybilnosc?) bo bez tego dziala tak samo, a przy najmniej ja nie widzialem roznic :)
Przyklad z wikibooks

float *tablica;
tablica = (float*) malloc(rozmiar * sizeof(*tablica)); 
0

malloc zwraca void* (wskaźnik na cokolwiek). O ile w języku C rzutowanie z void* na inny typ wskaźnikowy jest niejawne, o tyle w C++ taka konwersja musi być jawna (nie można pominąć rzutowania).

0

Takie coś

float *tablica;
tablica = malloc(rozmiar * sizeof(*tablica)); 

skompiluje się pod C ale nie pod C++. w C++ trzeba dodać rzutowanie, tak jak w kodzie który podałeś.

Różnicy w działaniu nie ma.

1 użytkowników online, w tym zalogowanych: 0, gości: 1