Instantiate objects I don’t know what this hand stuff it today maybe talking all about how you should be creating objects in C++ ++ because people’s clause gives us a few different ways we can actually create an object now you know basically when we were in the class and it comes time for us to actually start using the class that we created we need to instantiate it usually unless it’s like completely static but we’re not talking about that we need to extension out class how do we do it we basically have 2 choices here and the difference between the choices is where the memory comes from which memory we’re actually going to be creating our object in when we create objects and symbols plus it needs to occupy some memory even if we write a class that is completely empty nor maps business class members and off like that it has to be it has okay violates one byte of memory but that’s usually on case we have a lot of members in our classes and they need to be stored somewhere when we decide. Instantiate objects
I want to start using the subject line of credit bunch of variables the object has a bunch of variables we need to allocate memory somewhere in our computer so that we can actually remember what Americans the sensor and their obligations convert into 2 main sections of memory the stack and they hate now there are other sections of memory such as the area while Astley scored late soul by this point machine card so there’s all the sections of memory we’re going to talk about them later they don’t really matter right now I just think of it as a stack in the heat that’s all we care about right now I am going to make an in depth video or about what the stack is and what he B. as in the stack person behave and all that stuff if I’ve already made it when you’re watching this video they’ll be caught there if not it’s coming soon so just hold on tight in C ++ we get to choose where it goes weather Instantiate objects out objects gets created on the stock or on the heat and they kind of have different functional differences stack objects for example have an automatic lifespan right a lifetime. Actually controlled by the score of the day to claim as soon as you as soon as that bearable goes out of scope that said that the memories free because when mascot ends the stock pots and anything that was in that in that scope framing that stack frame. Instantiate objects Instantiate objects Instantiate objects
I guess free now that he is D. is different but he doesn’t big mysterious place where once you’ve allocated an object in that he’d been you’ve actually credit object on the heap it’s going to sit back until you decide I no longer need it I want free that object do whatever you like with that memory so let’s take a look at what the car looks like for both of those methods of creating objects he I’ve got a class called and see which is has a string on this string is just simply send a string output a little using up here just to simplify this cut a little bit so that we’re not writing STD string everywhere I usually do this because I don’t like using namespace STD I know a lot of you ask me why I don’t like using namespace STD I’m going to make a video on that very soon it’s just. Instantiate objects
Wait for but basically we’ve got a class with one member it’s a string and then we’ve got one constructor which doesn’t take any parameters another constructor which does take in a string as a parameter and then we just said the name to whatever the crime rate is and then finally we just have a simple get us in the name some dismantle dummy Instantiate objects class now let’s try creating the main function how do we do that well the first option which is creating on the stack is very simple we basically typing the title of the class that we want to instantiate then we hit the space bar and then we give it a name some of the coldest NC and that’s all there is to it now because we’re right now like this it’s actually pulling the default constructor Brian this card might look a little bit weird to you if you’re coming from a language like say shop with Java in fact you might think this this leads to something called a null pointer exception or no reference exception because it appears like we just haven’t initialize our Instantiate object .
We have right as long as we have this default constructor here this is totally valid card we can now pull and see don’t get name and we’ll actually get is well we’ll get the name we’ll get another in this case because basketball constructed did so let’s bring this out to the console and see what we get there we have it on time because what we’ve done here is actually different to what this court would have done the job for us the shaman kind of kind of get there in a minute if Instantiate objects we wanted to specify parameters all we need to do is just open a parentheses and given names such as Turner you can also do it this way we can write a calls and then the time that’s how constructive done Friday if we had a 5 run out programmer Instantiate objects we get Chan is time and everything’s great so what’s the deal with this when do we want to create R. objects like this the answer is pretty much all the time if you can create an address like this dude Credit object like this that’s basically the rule because this is the fastest way is the best boss Andy Morris managed way in simples baste actually instantiate objects now let’s talk about why you why there would be reasons where you contact it is one of the reasons is. Instantiate objects
If you actually want this to live outside of the life of this function if we had another functionary hero and we credit our NC are over in that function then as soon as we reach the end as soon as we reach this this disc and caliper bracket this N. C. Instantiate objects gets destroyed from memory because what happens is when we call function I stack frame gets credit for this function which contains all the local variables that we declare which includes primitive types but also our classes our objects and when this function ends that stock frame gets destroyed which means that all of the memories that we had on the stack all the variables we created all gone sorry let’s write some code that would actually fail codes don’t necessarily need to be functions that could be a statements fuller sorry Benanti scarps in which we just have code brackets like this if I create an instant points.
Note.. This is part 1st to see complete article click here