Exercice 1#
Question 1Quelles sont les trois étapes pour construire un tableau en C++?
BEGIN SOLUTION
- Déclaration 
- Allocation 
- Initialisation 
END SOLUTION
Question 2Illustrez votre réponse avec quelques lignes de code construisant en trois étapes un tableau de cent entiers égaux à \(1\). Dessinez la pile et le tas après cette construction:
/// BEGIN SOLUTION
vector<int> t;                    // Déclaration
t = vector<int>(100);             // Allocation
for ( int i = 0; i < 100; i++ ) { // Initialisation
    t[i] = 1;
}
/// END SOLUTION
BEGIN SOLUTION
┌──────────────┬──────┐         ┌─┬─┬─┬───┬─┐
│vector<int> t │ 100 ●┼────────>│1│1│1│...│1│
├──────────────┴──────┤         └─┴─┴─┴───┴─┘
│         ...         │
└─────────────────────┘     ──────────────────────
         Pile                        Tas
END SOLUTION
Question 3Quelle(s) conséquence(s) si on oublie la première étape?
BEGIN SOLUTION Le compilateur donnera une erreur: le tableau n’est pas déclaré. END SOLUTION
Question 4Quelle(s) conséquence(s) si on oublie la deuxième étape?
BEGIN SOLUTION Les conséquences ne sont pas définies par la norme de C++. Au mieux, le programme s’arrête avec une erreur de segmentation. Au pire, la mémoire est corrompue. END SOLUTION