On Mar 12, 10:57 am, Jeff Schwab <j...@schwabcenter.com> wrote:
James Kanze wrote:
On Mar 11, 7:54 pm, peter koch <peter.koch.lar...@gmail.com> wrote:
The only know alternative to exceptions is return codes
For a very liberal meaning of "return code". You can use
out parameters, global variables (ever heard of errno?)
errno isn't a global variable, it's a macro. On the system
I'm using to post this message, it maps to a function call.
I was talking about the concept, not the actual implementation.
According to the C standard, errno is a "symbol" which expands
to a modifiable lvalue. (It may be a macro, or an indentifier.)
Historically, it was usually a global variable, and earlier
versions of Posix required that. A global variable doesn't work
very well in a multithreaded environment, however; I'm pretty
sure that Posix requires that it be distinct for each thread.
In the end, though, it is still a global variable, although
normally a thread local one.
accesses one. errno is a macro, period, with all the attendant
problems that macros cause. See my reply elsethread.