const in C++

In C++, a const must always have an initialization value( except when you make an explicit declaration using  extern:
    extern const int bufsize;
).

A const in C++ defaults to internal linkage; that is, it is visible only within the file where it is defined and cannot be seen at link time by other translation units. Even a const defined outside all functions has file scope.