I've been reviewing the C++ standard 03 version. And I'm beginning to get confused with the meanings of the words Should and Shall.

Shall in the standard seems to indicate a compulsory requirement (will-have), where as Should in the standard seems to indicate an optional requirement (could-have). In English, Should implies an expectation, have I misunderstood the meaning? shouldn't Could be used instead?

Edit
Report