Pawel9218 Temat założony przez niniejszego użytkownika |
Proste pytanie o wskaźnik » 2013-05-05 20:50:27 const double * const * A ? Jak poprawnie nazwać ten wskaźnik ? Wiem że czyta się od prawej strony czyli: "A jest wskaźnikiem" i dalej nie wiem ,bo kupy się całość nie trzyma wgl.Wiem ,że dzięki temu przekazuje tablice dwuwymiarową ,którą nie chce zmieniać. |
|
kubawal |
» 2013-05-05 20:55:55 To drugie const zostanie zignorowane i będzie const double ** , czyli stały wskaźnik do wskaźnika do double |
|
Monika90 |
» 2013-05-05 21:05:55 To drugie const zostanie zignorowane i będzie |
Ależ skąd. const double * const * A;
to jest wskaźnik do stałego wskaźnika do stałago double. Można go użyć do przekazania/przechowywania wskaźnika do pierwszego (lub innego) elementu tablicy wskaźników do double. double * array[ 100 ]; A = & array[ 0 ]; A = array;
Przy czym, za pomocą tego wskaźnika (A) nie można modyfikować, ani samej tablicy array, ani tego do czego odnoszą się zawarte w niej wskaźniki. |
|
Pawel9218 Temat założony przez niniejszego użytkownika |
» 2013-05-05 21:23:20 ok ,czemu zignorowane ? To coś to jest po prostu tablica wskaźników ,której nie można zmieniać ani ruszać ? Już wszystko mi się myli Edit. Nie widziałem drugiej odpowiedzi ,ok trochę mi się rozjaśniło. bool suma( const double * const * A, const unsigned m, const unsigned n, const double * const * B, const unsigned p, const unsigned q, double **& C ) { utworz( C, m, n ); if( m == p && n == q ) { for( unsigned int i = 0; i < m; i++ ) { for( unsigned int j = 0; j < n; j++ ) { C[ i ][ j ] = A[ i ][ j ] + B[ i ][ j ]; } } return true; } else { cerr << "..."; return false; } } W tej funkcji jednak poruszam się normalnie po tablicy dwuwymiarowej A dzięki temu ,a niby powinno być to zabronione przez użycie tych const? |
|
usmiech |
» 2013-05-05 21:37:49 Programowanie to logika, ale tez i abstrakcja... Moja rada - zanim zaczniesz 'walczyc' ze wskaznikami od wskaznikow, zacznij od prostych wskaznikow. Ten sam cel mozna osiagnac na rozne sposoby :) |
|
Monika90 |
» 2013-05-05 21:58:15 W tej funkcji jednak poruszam się normalnie po tablicy dwuwymiarowej A dzięki temu ,a niby powinno być to zabronione przez użycie tych const?
|
Ale nie modyfikujesz A i B, tylko odczytujesz, zmieniasz zawartość C, ale ona nie ma żadnych const. |
|
usmiech |
» 2013-05-05 22:00:03 << removed >> |
|
Pawel9218 Temat założony przez niniejszego użytkownika |
» 2013-05-05 22:09:11 Ok ,rozumiem ocb ,dzięki jeszcze raz. |
|
« 1 » |