Тёмный

C++ Grundlagen Tutorial  

Pilzschaf
Подписаться 8 тыс.
Просмотров 17 тыс.
50% 1

Meine Spiele:
Just a Paddle (Android): play.google.co...
Mehr Spiele folgen bald, schau auf meiner Website oder meinen Social Media Kanälen vorbei, um auf dem Laufenden zu bleiben ;)
Wo du mich noch finden kannst
Website: pilzschaf.de
Twitter Pilzschaf: / pilzschaf
Twitter Pilzschaf Studio: / pilzschafgs
Instagram: / pilzschaf

Опубликовано:

 

5 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 32   
@phenix7344
@phenix7344 10 месяцев назад
sehr cool deine videos auch nach 6 jahren noch, hab mich nie so richtig an das c zeug rangetraut aber die videos sind super :>
@florianhellinger6631
@florianhellinger6631 3 года назад
Hey Danke dir für die Super Videos. Super erklärt. Welchen Sinn macht es einen Pointer auf ein Objekt zu machen? Statt eimem . nehme ich -> Wofür benötige ich sowas?
@rafalwilk8519
@rafalwilk8519 5 лет назад
Hey Pilzschaf bei 5:45 musst du schreiben (*Car).accelerate ()
@therealyunix
@therealyunix 2 года назад
Danke für das informative Video!, übrigens die andere Schreibweise von _Car->brake()_ wäre _(*Car).brake();_
@thoren_1928
@thoren_1928 7 лет назад
Cooles Video!
@Pilzschaf
@Pilzschaf 7 лет назад
Danke :)
@thediaclub4781
@thediaclub4781 2 года назад
Warum verwendet man jetzt new Car? Für eine normale Instanz würde man doch Car car = Car(); verwenden? Könne man dann nicht einfach für einen Pointer auf car Car* pointer = &car; machen?
@Pilzschaf
@Pilzschaf 2 года назад
Grundsätzlich geht das. Der große Unterschied liegt darin, wo das Car gepseichert wird bzw. wie lange es gespeichert wird. Car car = Car(); Wird auf dem Stack gespeichert und ist deshalb nur innerhalb der entsprechenden Funktion verfügbar. Es wird also im Endeffekt automatisch am Ende der Funktion gelöscht. Testen kann man das dann z.B. mit einem Destruktor. Mit new Car() wird die Klasse allerdings auf dem Heap erzeugt. Das bedeutet, dass diese auch nach dem Verlassen der Funktion verfügbar ist. Wenn der Speicher nicht mehr benötigt wird muss man diesen manuell mit delete car; wieder freigeben. Aufpassen muss man, wenn man einen Zeiger auf eine Klasse als return zurück gibt. In diesem Fall muss das Objekt zwingend auf dem Heap erstellt worden sein. Andernfalls wird ein Zeiger auf Speicher zurück gegeben, der durch das beenden der Funktion wieder frei geben wird. Also niemals Car* createCar() { Car car; return &car; }
@thediaclub4781
@thediaclub4781 2 года назад
@@Pilzschaf Vielen Dank für die schnelle Antwort! Und auch vielen Dank für die vielen guten Tutorials
@svenbittl2265
@svenbittl2265 4 года назад
geil erklärt danke dir =)
@mauricefligg1192
@mauricefligg1192 2 года назад
Hey Pilzschaf ich hab leider nicht ganz verstanden warum wir den Pen-Pointer im private Bereich der Car-Klasse machen. Bei 11:01
@modsforgames8040
@modsforgames8040 4 года назад
Danke =)
@oszi7058
@oszi7058 7 лет назад
Dankeschön ; )
@Pilzschaf
@Pilzschaf 7 лет назад
Schau mal hier vorbei, da ging es ab Minute 9 auch um mehrdimensionale Arrays ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-YgzqbJjzOok.html
@alexblack8613
@alexblack8613 Год назад
Wie würde ich jetzt ein Objekt erstellen, wenn ich den Constructor vorher mit Attributen deklariert habe? Also als Beispiel: Car :: car(float velocity, float position) { } Wenn ich dann Car* car = new Car schreibe, läuft das Programm nicht...
@Pilzschaf
@Pilzschaf Год назад
Du musst in dem Fall dann bei new Car die Parameter in Klammer mitgeben. Also Car* car = new Car(10.0f, 5.0f);
@alexblack8613
@alexblack8613 Год назад
@@Pilzschaf Danke!
@oszi7058
@oszi7058 7 лет назад
Ich hätte ne Frage hast du schon ein Video über 2d Arrays und 2. falls neinkönntest du bitte eines machen Danke ; )
@Pilzschaf
@Pilzschaf 7 лет назад
+Zombistriker 8 Nein habe ich noch nicht, ich werde aber Mal schauen, dass ich das in einem der kommenden Videos mal einbaue oder einen extra Part mache
@Leonardo-eu7jt
@Leonardo-eu7jt 3 года назад
Hey Pilzschaf, bei mir wird bei car -> accelerate(2.0f) ebenfalls der Destructor auf der Konsole ausgegeben. Ich benutze CLion mit 2020 C++ und gcc/g++. Das delete car; car = nullptr; gibt mir auch einen Fehler.
@Pilzschaf
@Pilzschaf 3 года назад
Das ist in der Tat merkwürdig. Ist car ein Zeiger der mit new erstellt wurde? Oder ist car bei dir einfach nur ein Zeiger auf eine normale Car Instanz auf dem Stack?
@Leonardo-eu7jt
@Leonardo-eu7jt 3 года назад
@@Pilzschaf Car* car1 = new Car; car1 -> accelerate(2.0f);
@Pilzschaf
@Pilzschaf 3 года назад
@@Leonardo-eu7jt Ok, da sollte der Destruktor definitiv erst beim delete aufgerufen werden. Kann es sein, dass du vielleicht Konstruktor und Destruktor verwechselst?
@Leonardo-eu7jt
@Leonardo-eu7jt 3 года назад
@@Pilzschaf Nein, es wird beides ausgegeben. Car::Car() { std::cout
@Pilzschaf
@Pilzschaf 3 года назад
Und der Destruktor wird auch aufgerufen, wenn du delete nicht aufrufst?