Re: Visual C++ (non-standard C++)
<worlman385@yahoo.com> ha scritto nel messaggio
news:srupv3das4ei6nrrsvd8p8gcd9pk59qt1u@4ax.com...
Does visual C++ uses a lot of non-standard C/ C++ syntax?
What do you mean, please?
Visual C++ (at least since Visual C++ 7.1) is very C++ standard compliant.
You can compile several multiplatform libraries like Boost, Blitz++, etc.
with VCx (x >= 7.1) with no particular problem.
If you are thinking about Win32 specific stuff, Win32 API functions are just
a kind of programming "library" (with C interface), so they can have their
naming conventions, their own data types and structures, etc.
1) near / far seem not standard C++ / standard C
typedef DWORD near *PDWORD;
typedef DWORD far *LPDWORD;
I believe near/far is something from the old ancient "16 bits" age.
I think they (i.e. near/far) expand to nothing in modern (32 bits) Visual
C++ compilers...
Kind of:
#define near
#define far
2) I heard the following is compiler specific
_STD_BEGIN
_STD_END
I think this is STL specific stuff, used in STL *implementation*.
If you use STL "public interface" (I mean: std::vector, std::string,
std::map, etc.) you should not pay attention to these implementation
details.
I think that some of non-standard extensions specific of Visual C++ are some
utilities for COM support, like __uuidof (IIRC, there was a recent thread on
that).
HTH,
Giovanni