Przekazywanie rozmiaru tablicy do metody w C++

W języku C++ można wykorzystać szablon metody i przekazywanie argumentów przez referencję do zmniejszenia jawnego przekazywania argumentu zawierającego informację o rozmiarze tablicy. Takie rozwiązanie zmniejsza ilość wymaganych parametrów oraz zapobiega podaniu złego rozmiaru.

Kod programu:

#include <iostream>

using namespace std;

template <int N>
int func(float (&x)[N]) {
    for(int i = 0; i < N; ++i) {
        cout << "Element[" << i << "]: " << x[i] << endl;
    }

    return N;
}

int main(int argc, char **argv) {
    float tab[] = {34.4, 45.3, 23.4};

    int n = func(x);

    cout << "Number of elements: " << n << endl;

    return 0;
}

Wynik działania programu:

Element[0]: 34.4
Element[1]: 45.3
Element[2]: 23.4
Number of elements: 3
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s