C++ reference to const-qualified type with subsequent modification
Reference to const-qualified type is subsequently
      modified
Description
This defect  occurs when a variable that refers to a
      const-qualified type is modified after declaration.
For instance, in this example, refVal has a type const int
        &, but its value is modified in a subsequent
      statement.
using constIntRefType = const int &;
void func(constIntRefType refVal, int val){
   ...
   refVal = val; //refVal is modified
   ...
}Risk
The const qualifier on a reference type implies that a variable of
        the type is initialized at declaration and will not be subsequently modified.
Compilers can detect modification of references to const-qualified
        types as a compilation error. If the compiler does not detect the error, the behavior is
        undefined.
Fix
Avoid modification of const-qualified reference types. If the
        modification is required, remove the const qualifier from the reference
        type declaration.
Examples
Result Information
| Group: Good practice | 
| Language: C++ | 
| Default: Off | 
Command-Line Syntax:
      WRITE_REFERENCE_TO_CONST_TYPE | 
| Impact: Low | 
Version History
Introduced in R2019a
See Also
C++ reference type
        qualified with const or volatile | Qualifier removed in conversion | Writing to const qualified object | Find defects (-checkers)
Topics
- Interpret Bug Finder Results in Polyspace Desktop User Interface
 - Interpret Bug Finder Results in Polyspace Access Web Interface (Polyspace Access)
 - Address Results in Polyspace User Interface Through Bug Fixes or Justifications
 - Address Results in Polyspace Access Through Bug Fixes or Justifications (Polyspace Access)