array in c vs c++ code example

Example: arrays in c++

#include <iostream>
#include <array> //for using std::array

int main()
{

	int example[5];//array on stack
	int* another = new int[5];//array on heap
	delete[] another;//freeing up memory on heap
	example[0] = 1;
	example[1] = 2;
	example[2] = 3;
	example[3] = 4;
	for (int i = 0; i < 5; i++) {
		example[i] = 2;
	}
	int* ptr = example;//arrays are just pointers to the begining of the block of memory
	example[2] = 5;
	*(ptr + 2) = 6;//adding 4+4 bytes to ptr
	std::cout << example[2] << std::endl;//output => 6
	*(int*)((char*)ptr + 8) = 8;//adding 8 bytes to ptr using ptr arithmetic
	std::cout << example[2] << std::endl;//output => 8
	//std::array provide some additional functionality like bounce checking size checking but do have a performance overhead
	std::array<int,5> stda;//creating an array named stda of int 5 size
	std::cout << stda.size() << std::endl;//will output size of std::array ,output =>5   
    std::cin.get();
}

Tags:

Cpp Example