|
In the C ++ standard, it is indeed forbidden to not initialize the reference definition. The problem is, if some people do not know this, and
When experimenting in an old compiler, uninitialized references will not cause compilation errors, it may just be a warning, or even
In some special compilers, uninitialized references are defined as something like a null pointer. In some existing enterprise-level
The code even takes advantage of a feature that is valuable in the context of some applications. -Such a system,
Of course, you can change all to pointers. The problem is that it takes time, many, many hours. In this way, the company would rather use
The old antique compiler made some simple modifications to the original code, rather than rewriting it completely, because
The price is too high.
There is a gap between the standard and the implementation. It can only be promoted as much as possible, but sometimes don't kill yourself with a lot of original code.
The C ++ compiler that needs to be maintained and absolutely conforms to the standard. As far as I know, it should not be available at present, even the academic compiler,
Can only do 99% or 99.9% |
|