Infatti la domanda mi è sorta proprio utilizzando boost::array, ho notato che sopra una certa dimensione si produceva uno stack overflow, ho controllato il codice e anche io non ho visto nessun tipo di controllo di questo genere.

Eppure dovrebbe essere possibile fare una coda del genere, in fondo il compilatore conosce il valore della richiesta di memoria per l'allocazione automatica cosi come conosce la quantità di memoria allocata staticamente, se cosi non fosse non si avrebbe ad esempio il seguente messaggio di errore: fatal error C1126: l'allocazione automatica supera 2G