Tworzenie obiektu klasy w C# a C++

0

Chciałbym się dowiedzieć czemu w C# żeby utworzyć obiekt klasy trzeba tworzyć je za pomocą zmiennej referencyjnej i new np. Klasa proba = new Klasa(); a w C++ wystarczy Klasa proba; czemu w C# nie możemy tak postępować ?

1

po pierwsze - bo taka jest specyfikacja jezyka. dodatkowo w c# jest rozroznienie na typy referencyjne i 'proste' (value types, ale 'wartosciowe' brzmi jakos tak dziwnie), w wypadku tych pierwszych zawsze sa one tworzone dynamicznie na zarzadzanej stercie.

0

A ja mam pytanie odnośnie tego czy czesto zdarza wam sie samodzielnie usuwać obiekty w C# ?( dopiero sie ucze i ciekawy jestem czy temu zagadnieniu poświecić wiecej czasu czy tez nie)

0

nie wiem co dokladnie masz na mysli przez samodzielne usuwanie obiektow, to garbage collector zajmuje sie usuwaniem starych obiektow a nie programista.
czasem nalezy recznie zwolnic jakies zewnetrzne zasoby (typu zamknac plik czy polaczenie do bazy danych), przydaje sie do tego using https://msdn.microsoft.com/en-us/library/yh598w02.aspx

3

czy czesto zdarza wam sie samodzielnie usuwać obiekty w C#

Każdy obiekt implementujący interfejs IDisposable powinno się usuwać wywołując Dispose() albo lepiej zamykając użycie obiektu w instrukcję using.

?
Nie stawia się spacji przed znakiem zapytania.

0

Chodzi mi dokładnie o to co napisaliście i czy czesto z tego korzystacie?

0

tak, malo ktory projekt jest w stanie sie bez tego obejsc

0

Tak przy okazji, warto używać np:

GC.Collect(this);

przy zamykaniu któregoś okna aplikacji? (nie głównego)

1 użytkowników online, w tym zalogowanych: 0, gości: 1