and thats it? you do nothing with this? no allocation, no assignment of your map data?
There are so many more ways to read your map data, many more EASIER ways. You can read your 100x100 grid all at once, the just use a memcpy or whatever. Why parse it in such a strange way?
You could simply read the whole map_file struct all at once if you had saved it properly.
Your comment is nice:
"// i plan on using the function to assign the values from the file to the struct"
but...you never do that!!
Please, do yourself a favour and THINK STEP BY STEP on what you do. To me, this looks like you copy and pasted fragments of map loading code you found on google into your program.
No offence mate, but please start with a smaller map! Use a grid of 5x5 tiles for example where you easily can check all contents of the array in the DEBUGGER. If your loading code works, it doesnt matter if you're using a 5x5 or 1000x1000 map.
There's much much more wrong in that piece of code than just a plain pointer issue.
Besides the allocations you do every frame, there are also a lot more copy-constructor calls than you might expect.
Get rid of that; it may be just a Vec2 class but clean code doesnt hurt anyone. use const references, or just pass the position as 2 parameters.
Next point is ... why do you want to use a pointer anyway? Sprite classes usually store their position for collision detection or rendering or whatever.
And you do realize that pointers take up memory as well, right? Depending on the OS, the size is different. On Windows it's 4 byte if i remember correctly.
First of all, in your Constants.cpp file you need to write "const int MAX_INTS = 1000; "
The extern keyword means "declare without defining". In other words, it is a way to explicitly declare a variable, or to force a declaration without a definition.
The practice itself (putting the initialization into the cpp file) is a matter of personal taste. I personally like it because if i need to change the value for whatever reason, not every single file which includes the header file is compiled again.
But i wouldnt use "extern" anymore....i like static const uint32 MAX_INTS; in a header file more. ;-)