kontener vector w C++, destruktor klasy vector

Awatar użytkownika
Misery Slave
Użytkownik
Użytkownik
Posty: 52
Rejestracja: 28 cze 2006, o 19:24
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 6 razy
Pomógł: 4 razy

kontener vector w C++, destruktor klasy vector

Post autor: Misery Slave »

Mój problem: czy po wykorzystaniu kontenera vector z biblioteki vector.h należy używać destruktora klasy vector?
Jeśli tak to jak użyć tego destruktora dla tablicy 2D i 3D?
Xfly
Użytkownik
Użytkownik
Posty: 174
Rejestracja: 13 mar 2006, o 20:44
Płeć: Mężczyzna
Lokalizacja: Nowogard
Podziękował: 33 razy
Pomógł: 10 razy

kontener vector w C++, destruktor klasy vector

Post autor: Xfly »

po pierwsze jesli programujesz w C++ to dolaczaj plik naglowkowy a nie
po drugie z tego co wiem to nie trzeba uruchamiac destruktora - najprawdopodobniej konteren sprzata po sobie sam - ale nie jestem pewanien na 100%
Awatar użytkownika
Misery Slave
Użytkownik
Użytkownik
Posty: 52
Rejestracja: 28 cze 2006, o 19:24
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 6 razy
Pomógł: 4 razy

kontener vector w C++, destruktor klasy vector

Post autor: Misery Slave »

W sumie to wiem, ze tak należy zalączać pliki nagłówkowe, ale jest jakiś powód tego?
przecież działają niezależnie jak się je wpisze czy z *.h czy bez.
Awatar użytkownika
faustus
Użytkownik
Użytkownik
Posty: 90
Rejestracja: 25 maja 2005, o 11:35
Płeć: Mężczyzna
Lokalizacja: z drzewa binarnego
Podziękował: 3 razy
Pomógł: 2 razy

kontener vector w C++, destruktor klasy vector

Post autor: faustus »

Kiedy piszesz ryzykujesz, że używasz starszej wersji (zależy od kompilatora). Jeśli napiszesz a na dole (pod listą bibliotek) using namespace std używasz wersji zgodnej z C++. Tyle, że wtedy musisz czasami trochę inaczej używać niektórych bibliotek, np. zamiast piszesz .
Awatar użytkownika
max
Użytkownik
Użytkownik
Posty: 3306
Rejestracja: 10 gru 2005, o 17:48
Płeć: Mężczyzna
Lokalizacja: Lebendigentanz
Podziękował: 37 razy
Pomógł: 778 razy

kontener vector w C++, destruktor klasy vector

Post autor: max »

Polecam lekturę standardu:

tak do poduszki;)

A destruktor w c++ powinien się wywołać _automatycznie_, kiedy obiekt danej klasy jest niszczony.
Xfly
Użytkownik
Użytkownik
Posty: 174
Rejestracja: 13 mar 2006, o 20:44
Płeć: Mężczyzna
Lokalizacja: Nowogard
Podziękował: 33 razy
Pomógł: 10 razy

kontener vector w C++, destruktor klasy vector

Post autor: Xfly »

Powod jest bardzo prosty - standard C++ nie zna plikow naglowkowych typu - choc wiem ze kompilatory pozwalaja na dolaczanie ich bez problemu, zeby zapewnic zgodnosc wstecz. Po drugie pliki typu posiadaja zaimplementowane szablony co sprawia ze sie ich uzywa latwiej

co do dyrektywy using to oczywiscie mozna ale nie trzba, mozna korzystac z operatora zasiegu ::

np. std::cout
Awatar użytkownika
max
Użytkownik
Użytkownik
Posty: 3306
Rejestracja: 10 gru 2005, o 17:48
Płeć: Mężczyzna
Lokalizacja: Lebendigentanz
Podziękował: 37 razy
Pomógł: 778 razy

kontener vector w C++, destruktor klasy vector

Post autor: max »

IMO raczej też:
std::endl;
Xfly
Użytkownik
Użytkownik
Posty: 174
Rejestracja: 13 mar 2006, o 20:44
Płeć: Mężczyzna
Lokalizacja: Nowogard
Podziękował: 33 razy
Pomógł: 10 razy

kontener vector w C++, destruktor klasy vector

Post autor: Xfly »

zgadza sie std::endl - ja uzywam zazwyczaj dyrektywy using
ODPOWIEDZ