TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Dean Roddey
from: Wim Veldhuis
date: 1994-11-20 21:10:04
subject: 16-Bit To 32-Bit Callbac

Dean Roddey wrote in a message to Wim Veldhuis:

WV> Just out of curiosity, I used to think that the above syntax is
WV> just used to  tell the compiler that the bytes starting at the
WV> address  symbolized by p16Pointer have to be interpreted as a void *
WV>  WITHOUT any altering of those bytes. Since OS/2 specifies  special
WV> API functions to convert pointers this would not be  

 DR> Actually the bytes pointed to are irrelevant. The whole
 DR> casting thing changes the content of the pointer itself,
 DR> from a flag 32 bit offset to a segmented address. 

I think this is bad. It breaks the rule that a typecast does not alter the
actual bytes, just the interpretation of them. If CSet does this it would
almost surely mean that the code you produced is non-portable, even not to
another compiler on the same platform !
I would prefer the API calls since that is standard for C++.

OTOH if it is done during the assignment, it would mean an overloaded
operator= is used which is standard C++ (although not all RTL supply it),
but it would not require a cast.

mvg/wr
  
--- timEd/2 1.01.g3+


* Origin: LightHouse BBS ==> I am a H.U.G.O. Member ! (2:285/324.3)
SEEN-BY: 12/2442 54/54 620/243 624/50 632/348 640/820 690/660 711/409 410 413
SEEN-BY: 711/430 807 808 809 934 942 949 712/353 623 713/888 800/1
@PATH: 285/324 37 1 280/0 801 24/24 396/1 3615/50 229/2 12/2442
@PATH: 711/409 54/54 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.