Zamiana dwóch zmiennych: swap
Wskaźniki i napisy w tablicach char - Podstawy C++ (C++)
Klasyczny przykład: swap zamienia wartości dwóch zmiennych. Potrzebuje adresów obu i trzeciej zmiennej na chwilę, jak przy przelewaniu dwóch szklanek.
#include <iostream>
using namespace std;
// funkcja dostaje ADRES zmiennej, wiec moze ja zmienic
void addPoint(int *score) {
*score = *score + 1;
}
// zamiana dwoch zmiennych: bez wskaznikow funkcja zmienilaby tylko kopie
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x = 5;
int *p = &x; // p przechowuje adres zmiennej x
cout << "x = " << x << endl;
*p = 7; // zapis pod ten adres zmienia x
cout << "x = " << x << ", *p = " << *p << endl;
int points = 0;
addPoint(&points);
addPoint(&points);
cout << "punkty = " << points << endl;
int a = 3, b = 8;
swap(&a, &b);
cout << "a = " << a << ", b = " << b << endl;
return 0;
}Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Podstawy C++·Zaloguj się, aby zapisać postęp na koncie.