std::atomic_ref<T>:: operator++,++ (int) ,--,-- (int)
              
  | 
             
              
  | 
            |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| 
               
                
                 
                  
                   (C++26)
                  
                 
                
                
               | 
            ||||
| 
              
               Operations for arithmetic types
                (except 
                bool
               
               and pointer-to-object)
              
              | 
            ||||
| 
              
               Operations for integral types
                (except 
                bool
               
               and pointer-to-object)
              
              | 
            ||||
| 
               
                
                 
                  
                   (C++26)
                  
                 
                
                
               | 
            ||||
| 
               
                
                 
                  
                   (C++26)
                  
                 
                
                
               | 
            ||||
| 
               
                
                 
                  
                   atomic_ref::operator++
                  
                  
                   atomic_ref::operator++(int)
                  
                  
                   atomic_ref::operator--
                  
                  
                   atomic_ref::operator--(int)
                  
                 
                
                
               | 
            ||||
| 
              
               Operations for integral types
                (except 
                bool
               
               )
              
              | 
            ||||
| Constants | ||||
| 
           
           Fourni uniquement lorsque
            
         
            T
           
           est un type entier autre que
           
            cv
           
           
            
             bool
            
           
           ou un type pointeur-vers-objet
           | 
         ||
| 
           
           
            value_type operator
            
             ++
            
            
             (
            
            
             )
            
            
             const
            
            
             noexcept
            
            
             ;
            
           
           
          | 
         (1) | (depuis C++20) | 
| 
           
           
            value_type operator
            
             ++
            
            
             (
            
            
             int
            
            
             )
            
            
             const
            
            
             noexcept
            
            
             ;
            
           
           
          | 
         (2) | (depuis C++20) | 
| 
           
           
            value_type operator
            
             --
            
            
             (
            
            
             )
            
            
             const
            
            
             noexcept
            
            
             ;
            
           
           
          | 
         (3) | (depuis C++20) | 
| 
           
           
            value_type operator
            
             --
            
            
             (
            
            
             int
            
            
             )
            
            
             const
            
            
             noexcept
            
            
             ;
            
           
           
          | 
         (4) | (depuis C++20) | 
Incrémente ou décrémente atomiquement la valeur actuelle de l'objet référencé. Ces opérations sont des opérations de lecture-modification-écriture.
- Pour les types entiers signés, l'arithmétique est définie pour utiliser la représentation en complément à deux. Il n'y a pas de résultats indéfinis.
 - Pour les types pointeur-vers-objet, le résultat peut être une adresse indéfinie, mais les opérations n'ont par ailleurs aucun comportement indéfini. Le programme est mal formé si std:: remove_pointer_t < T > n'est pas un type d'objet complet.
 
Ces surcharges participent à la résolution de surcharge seulement si std:: is_const_v < T > est false .
         Table des matières | 
       
Valeur de retour
Notes
       Contrairement à la plupart des opérateurs de pré-incrémentation et pré-décrémentation, les opérateurs de pré-incrémentation et pré-décrémentation pour
       
        atomic_ref
       
       ne renvoient pas une référence à l'objet modifié. Ils renvoient plutôt une copie de la valeur stockée.
      
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Appliqué à | Comportement publié | Comportement corrigé | 
|---|---|---|---|
| 
         
          LWG 3508
         
          ( P3323R1 )  | 
        C++20 | les opérateurs d'incrémentation et de décrémentation n'avaient pas de sens pour const T | 
         contraint pour n'accepter que les
         
          T
         
         non-const
         | 
       
Voir aussi
| 
         ajoute atomiquement l'argument à la valeur stockée dans l'objet référencé et obtient la valeur détenue précédemment
          (fonction membre publique)  | 
       |
| 
         soustrait atomiquement l'argument de la valeur stockée dans l'objet référencé et obtient la valeur détenue précédemment
          (fonction membre publique)  | 
       |
| 
         ajoute ou soustrait atomiquement de la valeur référencée
          (fonction membre publique)  | 
       |
| 
         effectue atomiquement un ET, OU, XOR bit à bit avec la valeur référencée
          (fonction membre publique)  |