Patrik NovAk
15
Q:

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();
}
3
const int len = 3;
int arr[len];

arr[0] = 4;

int abc[4]{0,12,3}
0
// Array declaration by initializing elements 
int arr[] = { 10, 20, 30, 40 } 
  
// Compiler creates an array of size 4. 
// above is same as  "int arr[4] = {10, 20, 30, 40}" 
0
int baz [5] = { }; 
0
int leng = 10;
double X[leng];
0

New to Communities?

Join the community