Jestem zdezorientowany co do znaczenia void *function()
.
Czy to wskaźnik do funkcji, czy funkcja powraca void*
? Zawsze używałem go w strukturach danych jako funkcji rekurencyjnej zwracającej wskaźnik, ale kiedy zobaczyłem kod w wielowątkowości ( pthread
), jest taka sama deklaracja funkcji. Teraz jestem zdezorientowany, jaka jest między nimi różnica.
void *function()
jest funkcją pobierającą dowolną liczbę argumentów i zwracającą wartość, która po dereferencji jest typu void . W C ++ void* function()
jest funkcją, która nie przyjmuje argumentów i zwraca wartość wskaźnika do void . Powinieneś zdecydować, w którym języku pytasz.
void*function();
jest poprawny pod względem składniowym. Na przykład dla Pythona wybrali inną decyzję - format jest częścią składni. IMHO, oba sposoby mają swoje zalety i wady.