Click here to Skip to main content
15,884,388 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Adding an exe into resource in MFC Pin
Ernest Laurentin6-Mar-08 17:42
Ernest Laurentin6-Mar-08 17:42 
GeneralRe: Adding an exe into resource in MFC Pin
Hamid_RT9-Mar-08 1:04
Hamid_RT9-Mar-08 1:04 
GeneralSetRedraw(TRUE) causes a hide window to show Pin
followait6-Mar-08 17:05
followait6-Mar-08 17:05 
GeneralRe: SetRedraw(TRUE) causes a hide window to show Pin
Mark Salsbery6-Mar-08 17:54
Mark Salsbery6-Mar-08 17:54 
QuestionWhen to use Dialog for app and when to use normal Window ? Pin
Defenestration6-Mar-08 13:46
Defenestration6-Mar-08 13:46 
AnswerRe: When to use Dialog for app and when to use normal Window ? Pin
Mark Salsbery6-Mar-08 14:56
Mark Salsbery6-Mar-08 14:56 
AnswerRe: When to use Dialog for app and when to use normal Window ? Pin
JudyL_MD7-Mar-08 1:54
JudyL_MD7-Mar-08 1:54 
QuestionHow does RtlpNumberOf work? Pin
Glenn Sandoval6-Mar-08 12:29
Glenn Sandoval6-Mar-08 12:29 
I'm still learning C and C++. I found this magical bit of code that will give the number of elements in an array without knowing it's type. Can anyone explain this in terms mere mortals can understand?

In WinNT.h, around lines 939:

//<br />
// RtlpNumberOf is a function that takes a reference to an array of N Ts.<br />
//<br />
// typedef T array_of_T[N];<br />
// typedef array_of_T &reference_to_array_of_T;<br />
//<br />
// RtlpNumberOf returns a pointer to an array of N chars.<br />
// We could return a reference instead of a pointer but older compilers do not accept that.<br />
//<br />
// typedef char array_of_char[N];<br />
// typedef array_of_char *pointer_to_array_of_char;<br />
//<br />
// sizeof(array_of_char) == N<br />
// sizeof(*pointer_to_array_of_char) == N<br />
//<br />
// pointer_to_array_of_char RtlpNumberOf(reference_to_array_of_T);<br />
//<br />
// We never even call RtlpNumberOf, we just take the size of dereferencing its return type.<br />
// We do not even implement RtlpNumberOf, we just decare it.<br />
//<br />
// Attempts to pass pointers instead of arrays to this macro result in compile time errors.<br />
// That is the point.<br />
//<br />
extern "C++" // templates cannot be declared to have 'C' linkage<br />
template <typename t,="" size_t="" n=""><br />
char (*RtlpNumberOf( UNALIGNED T (&)[N] ))[N];<br />
<br />
#define RTL_NUMBER_OF_V2(A) (sizeof(*RtlpNumberOf(A)))</typename>

GeneralRe: How does RtlpNumberOf work? Pin
Randor 6-Mar-08 12:48
professional Randor 6-Mar-08 12:48 
GeneralRe: How does RtlpNumberOf work? Pin
Mark Salsbery6-Mar-08 12:52
Mark Salsbery6-Mar-08 12:52 
GeneralRe: How does RtlpNumberOf work? Pin
Mark Salsbery6-Mar-08 13:14
Mark Salsbery6-Mar-08 13:14 
AnswerRe: How does RtlpNumberOf work? [modified] Pin
Rajkumar R7-Mar-08 3:24
Rajkumar R7-Mar-08 3:24 
GeneralRe: How does RtlpNumberOf work? Pin
Glenn Sandoval7-Mar-08 4:59
Glenn Sandoval7-Mar-08 4:59 
GeneralCustom action DLL for Windows Installer Pin
act_x6-Mar-08 11:15
act_x6-Mar-08 11:15 
GeneralCrypto++ & FileSink newbie question Pin
soul7106-Mar-08 11:14
soul7106-Mar-08 11:14 
GeneralActiveX question Pin
AbbyIndian6-Mar-08 7:15
AbbyIndian6-Mar-08 7:15 
GeneralRe: ActiveX question Pin
Ernest Laurentin6-Mar-08 7:18
Ernest Laurentin6-Mar-08 7:18 
QuestionHow to place an ActiveX control on a dialog box of a DLL Pin
Deelip6-Mar-08 6:32
Deelip6-Mar-08 6:32 
AnswerRe: How to place an ActiveX control on a dialog box of a DLL Pin
Ernest Laurentin6-Mar-08 7:16
Ernest Laurentin6-Mar-08 7:16 
GeneralRe: How to place an ActiveX control on a dialog box of a DLL Pin
Deelip6-Mar-08 18:19
Deelip6-Mar-08 18:19 
GeneralDLL persistent storage "new" operator Pin
ForNow6-Mar-08 6:23
ForNow6-Mar-08 6:23 
QuestionRe: DLL persistent storage "new" operator Pin
CPallini6-Mar-08 21:32
mveCPallini6-Mar-08 21:32 
GeneralRe: DLL persistent storage "new" operator Pin
ForNow6-Mar-08 23:03
ForNow6-Mar-08 23:03 
GeneralRe: DLL persistent storage "new" operator Pin
CPallini6-Mar-08 23:11
mveCPallini6-Mar-08 23:11 
GeneralRe: DLL persistent storage "new" operator Pin
ForNow7-Mar-08 6:22
ForNow7-Mar-08 6:22 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.