What is the significance of const return type from a function?
const int func1();
The const in this position guarantees that the caller of the function doesn't change the returned value. Note that the use of const in a function's return value is more useful when the function returns a reference or a pointer to, say an object's data member. It's less useful when return-by-value is used (as in your example) because the caller gets a local copy of the variable. Therefore, there's not much point in limiting the use of the caller's own copy.