Question: 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.

Answer: 
assuming const unsigned char \* const

Everyone is correct that its a const pointer to a const unsigned char.

C++ types read mostly *right to left* unless there are any modifiers on the far left then these read left to right.
`const * unsigned char const buffer` means that you cannot modify the pointer `buffer` nor the memory that `buffer` points to.