Double const declaration
c++, constants, function
Solution
The first `const` says that the data pointed to is constant and may not be changed whereas the second `const` says that the pointer itself may not be changed:
char my_char = 'z';
const char* a = &my_char;
char* const b = &my_char;
const char* const c = &my_char;
a = &other_char; //fine
*a = 'c'; //error
b = &other_char; //error
*b = 'c'; //fine
c = &other_char; //error
*c = 'c'; //error
Problem
I often see the following function declaration: ``` some_func(const unsigned char * const buffer) { } ``` Any idea why the const is repeated before the pointer name? Thanks.