Adicionando mais elementos que o espaço alocado [duplicado]

Esta pergunta já tem uma resposta aqui:

Qual é o objetivo de alocar uma quantidade específica de memória para matrizes em C ++? 5 respostas

Na minha aula de estrutura de dados, o professor nos deu um código simples para imprimir elementos de uma matriz com um loop. Declarei uma matriz com 10 elementos, mas inicializei 15 elementos com valor 5 do que imprimir 15 elementos sabendo que o restante dos elementos mostrará valor de lixo. Mas gera apenas 5 elementos. Por uma questão de fato, mostra o número de elementos para os quais inicializo a matriz. Estou usando codeblocks 13.12. desde já, obrigado.

#include <iostream>
using namespace std;

int main(){
    int i,n;
    int arr[10];
    n=15;

    for(i=0;i<n;i++){
        arr[i] = 5;
    }

    for(i=0;i<n;i++){
       cout << arr[i] << endl;
    }

    return 0;
}

questionAnswers(5)

yourAnswerToTheQuestion