Not figuratively, of course. C ++ - the semantic level knows nothing about this entry (despite the presence of the register keyword).
g++ for example, can allocate a register globally or locally to a variable, in which case the compiler will never touch that register. This can sometimes be useful (I used this with the serious nature of performance in a virtual machine to implement Lisp without having to write everything in the assembly manually).
I suspect, of course, that if you also do not recompile the entire standard library, changing the standard headers, to include an announcement that the code in the library may touch the register (and depending on the ABI, it is possible that the registers you want to use are declared "scratches" "and therefore are not saved or restored).
Maybe other compilers also have this option ( clang , although, for example, although it is almost compatible with g ++, it does not support allocation of support registers).
source share