since resource is limited and the implementations vary from platform to platform, so the std provides implementation quantities (Annex B) such as:
— Nesting levels of compound statements, iteration control structures, and selection control structures[256]. — Nesting levels of conditional inclusion [256]. — Pointer, array, and function declarators (in any combination) modifying an arithmetic, structure, union, or incomplete type in a declaration [256]. — Nesting levels of parenthesized expressions within a full expression [256]. — Number of initial characters in an internal identifier or macro name [1024]. — Number of initial characters in an external identifier [1024]. — External identifiers in one translation unit [65536]. — Identifiers with block scope declared in one block [1 024]. — Macro identifiers simultaneously defined in one transation unit [65 536]. — Parameters in one function definition [256]. — Arguments in one function call [256]. — Parameters in one macro definition [256]. — Arguments in one macro invocation [256]. — Characters in one logical source line [65 536]. — Characters in a character string literal or wide string literal (after concatenation) [65 536]. — Size of an object [262 144]. — Nesting levels for #include files [256]. — Case labels for a switch statement (excluding those for any nested switch statements) [16 384]. — Data members in a single class, structure, or union [16 384]. — Enumeration constants in a single enumeration [4 096]. — Levels of nested class, structure, or union definitions in a single structdeclarationlist[256]. — Functions registered by atexit()[32]. — Direct and indirect base classes [16 384]. — Direct base classes for a single class [1 024]. — Members declared in a single class [4 096]. — Final overriding virtual functions in a class, accessible or not [16 384]. — Direct and indirect virtual bases of a class [1 024]. — Static members of a class [1 024]. — Friend declarations in a class [4 096]. — Access control declarations in a class [4 096]. — Member initializers in a constructor definition [6 144]. — Scope qualifications of one identifier [256]. — Nested external specifications [1 024]. — Template arguments in a template declaration [1 024]. — Recursively nested template instantiations [17]. — Handlers per try block [256]. — Throw specifications on a single function declaration [256].