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: 
It's a constant pointer to a constant unsigned char. You can't change the pointer nor the thing it points to.
A couple of articles to help you understand const correctness in C++: 

* [Wikipedia](http://en.wikipedia.org/wiki/Const-correctness)
* [Possibility.com](http://www.possibility.com/Cpp/const.html)