Jak pracować na kopiach tablic w funkcji?
Ostatnio zmodyfikowano 2014-02-02 21:24
kitsss Temat założony przez niniejszego użytkownika |
Jak pracować na kopiach tablic w funkcji? » 2014-01-28 16:03:11 Chciałem przesłać jako argument do funkcji tablice. Jednak chciałbym, by nie były one oryginałami (bo jak przesyłamy całą tablice, to pracujemy na jej adresach, bo nazwa tablicy to adres do jej 0-owego elementu). Próbowałem odebrać ją w ciele funkcji jako wskaźnik: const int *w, co by zapobiegło zmianie wartości, ale siłą rzeczy zapobiegło również chwilowej zmianie wewnątrz funkcji, na której mi zależy.
Z góy dzięki za pomoc, pozdrawiam. |
|
killjoy |
» 2014-01-28 16:04:38 Zrób sobie kopię tablicy w funkcji, w czym problem? |
|
kitsss Temat założony przez niniejszego użytkownika |
» 2014-01-31 08:03:44 Masz racje, to pomoże. Uczę się języka od podstaw i jeszcze daleko nie zaszedłem, myślałem, że są może na to jakieś specjalne sztuczki. Już wiem, że ich nie ma, dzięki wielkie ;) |
|
alixir |
» 2014-01-31 08:20:40 Zawsze możesz też opakować tablicę w strukturę. Wtedy możesz presłać ją jak inne zmienne. Popatrz na przykład: #include <iostream>
struct sTablica { int element[ 5 ]; };
void funkcja( sTablica t ) { for( int i = 1; i < 5; i++ ) t.element[ i ] += t.element[ i - 1 ]; for( int i = 0; i < 5; i++ ) std::cout << t.element[ i ] << std::endl; }
int main() { sTablica tab; for( int i = 0; i < 5; i++ ) tab.element[ i ] = i; funkcja( tab ); for( int i = 0; i < 5; i++ ) std::cout << std::endl << tab.element[ i ]; return 0; } |
|
kitsss Temat założony przez niniejszego użytkownika |
» 2014-02-02 21:24:12 Do struktur, obiektowego programowania jeszcze nie doszedłem, na razie staram się zrozumieć w pełni(wraz z dużą ilością praktyki) wszystko do tego momentu. Ale niebawem się już do tego zabieram i wrócę tu by spojrzeć, dzięki wielkie za odpowiedź, zamykam. |
|
« 1 » |