Difference between revisions of "Intermediate C++ Game Programming Tutorial 2"
From Chilipedia
(→Part 1) |
(→Part 2) |
||
Line 12: | Line 12: | ||
=== Part 2 === | === Part 2 === | ||
− | + | * Pointer Arithmetic | |
+ | * Pointer <code>const</code> Correctness | ||
+ | * Pointers to Pointers | ||
+ | * Pointer Reinterpretation | ||
+ | * C++ Style Casting <code>reinterpret_cast<></code> | ||
== Video Timestamp Index == | == Video Timestamp Index == |
Revision as of 22:49, 18 May 2017
In this two-part tutorial we learn all about pointers and pointer-related bullshits. Part one focuses on the basics--the most common pointer operations and the basic underlying mechanisms. In part two, we take a look at some less commonly-used but still important pointer operations (pointer arithmetic), as well as some other concepts related to pointers. This tutorial introduces a lot of new concepts and features, but is light on practical examples. In the following tutorials we will get more hands-on practice with pointers, but also make sure to experiment with them on your own after finishing Tutorial 2.
Contents
Topics Covered
Part 1
- Declaring pointers
- The addressof operator
&
- The dereference (indirection) operator
*
- The arrow (member of pointer) operator
->
- The indexing (subscript) operator
[]
- The
nullptr
pointer literal - The
sizeof
query operator
Part 2
- Pointer Arithmetic
- Pointer
const
Correctness - Pointers to Pointers
- Pointer Reinterpretation
- C++ Style Casting
reinterpret_cast<>
Video Timestamp Index
Homework
Part 1
Write a function called sum
which returns the sum of all elements of an int
array.
Here is the solution video: solution video.
Notes
- At 24:30 in Part 1, I show the calculation for indexing off of a pointer (
p[2]
) as B + 2 x 4 -> B, and then a memory store operation 69 -> int@[B], but in reality (optimized or not) the index calculation would be done as part of the memory access operation, so it would end up being something like 69 -> int@[B + 2 x 4].