User Tools

Site Tools


in204:cpp:syntax:const

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
in204:cpp:syntax:const [2019/09/16 14:00]
147.250.35.104 [Conversion d'un type non-modifiable en type modifiable]
in204:cpp:syntax:const [2022/11/18 10:50] (current)
Line 6: Line 6:
  
 <code cpp> <code cpp>
-const int x = 3 ;    // Introduit une variable de type qui ne peut pas être      +const int x = 3;    // Introduit une variable de type int qui ne peut pas être      
-                     ​// modifiée. ​+                    // modifiée. ​ 
 int z = 4;  int z = 4; 
 const int* y = &​z; ​  // Introduit un pointeur sur une variable de type entier qui    ​ const int* y = &​z; ​  // Introduit un pointeur sur une variable de type entier qui    ​
                      // ne pourra pas être modifiée. ​                      // ne pourra pas être modifiée. ​
-int const* m = &z ;  // Introduit un pointeur constant. C’est le pointeur qui ne                  ​+int * const  = &z ;  // Introduit un pointeur constant. C’est le pointeur qui ne                  ​
                      // peut pas être modifié et qui fera toujours référence à z.                           // peut pas être modifié et qui fera toujours référence à z.     
                      // Par contre le contenu de z peut être modifié. ​                      // Par contre le contenu de z peut être modifié. ​
Line 22: Line 23:
 int z = 4; int z = 4;
 const int* y = &z; const int* y = &z;
-int const* m = &z+int* const m = &z
 + 
 +const int v = 3; 
 +int const w = 4;
  
 int main() int main()
 { {
 +    ​
     int u = 3;     int u = 3;
     y = &​u; ​        // Ok, c'est la valeur pointée qui est constante, ​     y = &​u; ​        // Ok, c'est la valeur pointée qui est constante, ​
Line 46: Line 51:
  
 <code cpp> <code cpp>
 +
 +#​include<​iostream>​
  
 int findIndex(int theValue, const int* anArray, int theArrayLength) int findIndex(int theValue, const int* anArray, int theArrayLength)
Line 59: Line 66:
 int main() int main()
 { {
-    intarray = {2, 3, 2, 4, 7, 3, 8 }; +    int array[7] = {2, 3, 2, 4, 7, 3, 8 }; 
-    std::cout << "Index du premier 3 dans le tableau"​ << findIndex(3) << std::endl;+    std::cout << "Index du premier 3 dans le tableau " << findIndex(3, array, 7) << std::endl;
 } }
  
 </​code>​ </​code>​
  
-le point qui avait pour type ''​int*''​ est automatiquement promu en tableau ayant comme type ''​const int*''​.+le tableau'​array' ​qui avait pour type ''​int*''​ est automatiquement promu en tableau ayant comme type ''​const int*''​.
  
 ==== Conversion d'un type non-modifiable en type modifiable ==== ==== Conversion d'un type non-modifiable en type modifiable ====
Line 72: Line 79:
  
 <code cpp> <code cpp>
- 
 int buggyFindIndex(int theValue, const int* anArray, int theArrayLength) int buggyFindIndex(int theValue, const int* anArray, int theArrayLength)
 { {
Line 88: Line 94:
 } }
  
-int main()+void main()
 { {
-    intarray = {2, 3, 2, 4, 7, 3, 8 }; +    int array[7] = {2, 3, 2, 4, 7, 3, 8 }; 
-    std::cout << "Index du premier 3 dans le tableau" ​ +    std::cout << "Index du premier 3 dans le tableau " << buggyFindIndex(3, array, 7<< std::​endl;​ 
-        ​<< buggyFindIndex(3) << std::endl;+    std::cout << "Liste des éléments du tableau après exécution"​ << std::​endl;​ 
 +    std::cout << "​[";​ 
 +    int i = 0; 
 +    for(;i < 6; i++) 
 +        std::cout << array[i] << ", "; 
 +    std::cout << array[i] << "​]" ​<< std::endl;
 } }
 +
  
 </​code>​ </​code>​
in204/cpp/syntax/const.1568642432.txt.gz · Last modified: 2019/09/16 14:00 by 147.250.35.104