cse 143 section ad
Download
Skip this Video
Download Presentation
CSE 143 Section AD

Loading in 2 Seconds...

play fullscreen
1 / 12

CSE 143 Section AD - PowerPoint PPT Presentation


  • 84 Views
  • Uploaded on

CSE 143 Section AD. Quiz Section 8. Announcements. If you are not yet officially registered for this course, please make sure to talk to me after class. There will be another debugger tutorial today at 3:30 in MGH Room 30.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' CSE 143 Section AD' - lacey-allison


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
cse 143 section ad

CSE 143 Section AD

Quiz Section 8

Jeff West - Quiz Section 8

announcements
Announcements
  • If you are not yet officially registered for this course, please make sure to talk to me after class.
  • There will be another debugger tutorial today at 3:30 in MGH Room 30.
  • I’d like to welcome as much feedback as possible about how well quiz sections are preparing you so please feel free to talk to me about them… I have linked a feedback form from the Section AD web page if you want to remain anonymous…
  • Grades are on the course website – check to make sure yours are right ;)
  • There is a midterm in one week… if there is anything at all that is unclear to you please email me or visit my office hours this week so that studying for the midterm next week can be as painless as possible.

Jeff West - Quiz Section 8

pointer types 1
Pointer Types (1)

What will the following code print to the screen?

int i = 3;

int j = 3;

int* ip1 = &i;

int* ip2 = &j;

if(ip1 == ip2)

cout << “They are equal”;

else

cout << “They are unequal”;

Jeff West - Quiz Section 8

pointer types 2
Pointer Types (2)

That printed “They are unequal”…

What will the following code print to the screen?

int i = 3;

int j = 3;

int* ip1 = &i;

int* ip2 = &j;

if(*ip1 == *ip2)

cout << “They are equal”;

else

cout << “They are unequal”;

Jeff West - Quiz Section 8

pointer types 3
Pointer Types (3)

That printed “They are equal”…

What will the following code print to the screen?

int i = 3;

int* ip1 = &i;

int* ip2 = ip1;

if(&ip1 == &ip2)

cout << “They are equal”;

else

cout << “They are unequal”;

Jeff West - Quiz Section 8

slide6
new

That printed “They are unequal”…

int i = 3;

int* ip = &i;

What if you don’t want to take up space for i until you are actually going to use it?

int* ip;

ip = new int; // allocate new integer

*ip = 3; // assign 3 to int you created

Jeff West - Quiz Section 8

delete
delete

When you’re done using an object you can free up the memory it uses by deleting it!

Example:

int* ip;

ip = new int; // allocate new integer

*ip = 3; // assign 3 to int you created

delete ip; // deallocates integer

// what about ip??

Jeff West - Quiz Section 8

newing and deleting arrays
newing and deleting arrays

int *p;

p = new int[10];

for(int i = 0; i < 10; i++)

p[i] = 2 * i;

cout << p[2];

delete [] p; // USE THE RIGHT // VERSION OF // DELETE

Jeff West - Quiz Section 8

memory leak losing the pointer
Memory Leak (Losing the Pointer)

A memory leak occurs when you lose the pointer to memory without giving the memory back to the operating system. The memory will just sit in the heap with a “used” flag on it but you will have no way to access it!

Example:

int* ip;

P = new int;

*p = 12;

p = new int; // reassigned p… what about

// where it used to point?

*p = 17;

Jeff West - Quiz Section 8

dangling pointers losing the heap space
Dangling Pointers (Losing the Heap Space)

A dangling pointer is sort of the “opposite problem.” A dangling pointer is a pointer that “thinks” that it is pointing to an object in memory when in reality the object in memory has already been returned to the operating system.

Example:

int *ip1 = new int;

int *ip2;

*p = 12;

q = p;

delete p;

*q = 15; // where will 15 be stored?

Jeff West - Quiz Section 8

okay neat now what
Okay neat, now what?

Okay, so you can get new values… but how can this possibly help us in the “real” world?

Imagine creating an internet game (EverQuest, Quake, whatever you like)… you want to allow as many as 2,000 characters to exist in your game at one time but you also want to be as efficient as possible… if your game stores all characters active in the game in an array of character objects, how big should the array be?

Jeff West - Quiz Section 8

answer
Answer

Answer: There should only be space allocated for the number of characters that are actually active (or somewhere in that ballpark).

But how can you possibly make it only as big as it needs to be when there will be a different number of characters in the game at different times?

Answer: Dynamic Memory! We’ll get really in depth on ways to grow and shrink array sizes tomorrow, so stay tuned…

Jeff West - Quiz Section 8

ad