Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Przekazywanie funkcji przez wskaźnik(problem ze zrozumieniem)

Ostatnio zmodyfikowano 2016-01-20 18:52
Autor Wiadomość
Matei
Temat założony przez niniejszego użytkownika
Przekazywanie funkcji przez wskaźnik(problem ze zrozumieniem)
» 2016-01-20 15:26:21
Czytając jedną z lekcji na temat funkcji natknąłem się na przykład przekazywania funkcji przez wskaźnik i tu pojawia się problem, ponieważ patrząc na to nic z tego nie kumam :/ Dlatego mam prośbę czy mógłby mi ktoś pomóc to zrozumieć, napisać jakiś prostszy przykład albo wytłumaczyć ten z lekcji.

Link do tematu z przykładem: http://cpp0x.pl/kursy/Kurs-C++/Funkcje-kolejne-aspekty/306

P-143817
mateczek
» 2016-01-20 18:52:50
C/C++
#include <iostream>
using namespace std;

int poleKwadrata( int a ) {
    return a * a;
}

int main( void )
{
    int( * fun )( int ); //deklaracja funkcji czytaj od środka
    //fun jest wskaźnikiem.  (zamknięty nawias sugeruje czytanie deklaracji w lewo)
    //do funkcji - bo nawias po prawej()
    //przyjmującej parametr typu int i zwracającej wartość typu int
   
   
    fun = poleKwadrata; //nazwa funkcji to też wskaźnik
    cout << fun( 5 ) << endl;
}

// nawiasy są ważne bo zmieniają kierunek czytania deklaracji !!!
int * fun( int ); // fun jest funkcją - bo nawias po prawej
//przyjmującej parametr typu int i zwracającej wskaźnik na wartość typu int
P-143825
« 1 »
  Strona 1 z 1