Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Vectori

c


Vectori



Conceptul de vector construit in C++ a fost proiectat pentru a permite o eficienta maxima la executie si memorie minima.

Este de asemenea, mai ales cind se utilizeaza impreuna cu pointerii, un instrument puternic pentru construirea unor facili­tati de nivel inalt. 10310y2417k Noi putem, totusi, sa ne plingem de faptul ca dimensiunea unui vector trebuie sa fie specificata ca o constanta, ca nu exista verificarea depasirii limitelor vectori­lor, etc.. Un raspuns la aceste plingeri este: noi insine putem programa acest lucru. Sa vedem daca acesta este un raspuns rezonabil, cu alte cuvinte, sa testam facilitatile de abstracti­zare ale lui C++ incercind sa furnizam aceste caracteristici pentru tipurile de vectori proiectati de noi si sa observam dificultatile implicate, costurile implicate si comoditatea utilizarii tipurilor de vectori rezultate.

class vector

void set_size(int);

int& operator[](int);

int& elem(int i)

};

Functia size() returneaza numarul de elemente al vectorului; adica, indicii trebuie sa fie in domeniul 0..size()-1. Functia set_size() este furnizata pentru a schimba acea dimensiune, elem() furnizeaza acces la membri fara a verifica indexul, iar operator[] furnizeaza acces cu verificarea limitelor.

Ideea este de a avea clasa ca o structura de dimensiune fixa care controleaza accesul la memoria reala a vectorului, care este alocata prin constructorul vectorului utilizind operatorul new de alocare de memorie.

vector::vector(int s)

Noi putem declara vectori foarte asemanator cu vectorii care sint construiti in limbajul insusi:

vector v1(100);

vector v2(nelem*2-4);

Operatia de acces poate fi definita ca:

int& vector::operator[](int i)

Returnind o referinta se asigura ca notatia [] poate fi utilizata de ambele parti a unei atribuiri:

v1[x] = v2[y];

Functia ~vector() este un destructor; adica este o functie declarata pentru a fi apelata implicit cind obiectul unei clase iese in afara domeniului. Destructorul pentru o clasa C se nu­meste ~C. Daca noi o definim astfel:

vector::~vector()

ea va fi utilizata pentru a sterge operatorul si pentru a dezalo­ca spatiul alocat prin constructor, asa ca atunci cind un vector iese afara din domeniu, tot spatiul lui este eliberat si poate fi reutilizat.



Document Info


Accesari: 989
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )