Click here to Skip to main content
16,015,694 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
QuestionC++ programming Pin
ali khan Mar20226-Mar-22 8:08
ali khan Mar20226-Mar-22 8:08 
AnswerRe: C++ programming Pin
Richard MacCutchan6-Mar-22 21:57
mveRichard MacCutchan6-Mar-22 21:57 
AnswerRe: C++ programming Pin
Edd.Dan1-May-22 4:47
professionalEdd.Dan1-May-22 4:47 
QuestionGetting a specific version of rich edit Pin
ForNow6-Mar-22 8:02
ForNow6-Mar-22 8:02 
AnswerRe: Getting a specific version of rich edit Pin
Randor 9-Mar-22 9:25
professional Randor 9-Mar-22 9:25 
GeneralRe: Getting a specific version of rich edit not hitting my WordBreak Function Pin
ForNow9-Mar-22 13:49
ForNow9-Mar-22 13:49 
QuestionStruct with union with different sized members - How can I declare the smallest struct? Pin
arnold_w6-Mar-22 1:17
arnold_w6-Mar-22 1:17 
AnswerRe: Struct with union with different sized members - How can I declare the smallest struct? Pin
Mircea Neacsu6-Mar-22 2:39
Mircea Neacsu6-Mar-22 2:39 
No, you cannot. If you need a flexible size structure, the idiomatic solution is to add a zero size array at the end of the structure. Then, presumably, one of the fixed length fields tells you the size of the variable part. Something like this:
C++
struct MyStruct
{
  int small_or_big;
  int variable_part[0]; //or int variable_part[] if you want to conform to C90
};

struct MyStruct *ptr;
if (ptr->small_or_big == BIG_STRUCT)
{
  ptr->variable_part[999] = some_value; //we know that variable part size is 1000
  //...
}


When you allocate the structure you have to account for the variable part:
C++
//...
ptr_small = malloc(sizeof(MyStruct) + SIZE_OF_SMALL_PART);
ptr_small->big_or_small = SMALL_STRUCT;

ptr_big = malloc (sizeof(MyStruct) + SIZE_OF_BIG_PART);
ptr_big->big_or_small = BIG_STRUCT;

Mircea


modified 6-Mar-22 11:10am.

QuestionLine Break Rich Edit Pin
ForNow5-Mar-22 17:42
ForNow5-Mar-22 17:42 
AnswerRe: Line Break Rich Edit Pin
Richard Andrew x646-Mar-22 4:33
professionalRichard Andrew x646-Mar-22 4:33 
GeneralRe: Line Break Rich Edit Pin
ForNow6-Mar-22 5:19
ForNow6-Mar-22 5:19 
QuestionC++ even numbers query Pin
Member 1555051328-Feb-22 16:30
Member 1555051328-Feb-22 16:30 
AnswerRe: C++ even numbers query Pin
Victor Nijegorodov28-Feb-22 20:31
Victor Nijegorodov28-Feb-22 20:31 
GeneralRe: C++ even numbers query Pin
Member 1555051328-Feb-22 21:33
Member 1555051328-Feb-22 21:33 
GeneralRe: C++ even numbers query Pin
Victor Nijegorodov28-Feb-22 23:02
Victor Nijegorodov28-Feb-22 23:02 
GeneralRe: C++ even numbers query Pin
Member 155505131-Mar-22 17:31
Member 155505131-Mar-22 17:31 
GeneralRe: C++ even numbers query Pin
Victor Nijegorodov1-Mar-22 22:32
Victor Nijegorodov1-Mar-22 22:32 
GeneralRe: C++ even numbers query Pin
Richard MacCutchan1-Mar-22 22:40
mveRichard MacCutchan1-Mar-22 22:40 
QuestionRe: C++ even numbers query Pin
David Crow1-Mar-22 3:50
David Crow1-Mar-22 3:50 
AnswerRe: C++ even numbers query Pin
Richard Andrew x642-Mar-22 9:42
professionalRichard Andrew x642-Mar-22 9:42 
QuestionC Pin
Christine Belisario25-Feb-22 20:48
Christine Belisario25-Feb-22 20:48 
AnswerRe: C Pin
Richard MacCutchan25-Feb-22 22:52
mveRichard MacCutchan25-Feb-22 22:52 
AnswerRe: C Pin
RedDk26-Feb-22 8:47
RedDk26-Feb-22 8:47 
GeneralRe: C Pin
Greg Utas26-Feb-22 10:32
professionalGreg Utas26-Feb-22 10:32 
Questionhow to dynamically delete sub-control created in run-time Pin
wuxianzhong18-Feb-22 15:54
wuxianzhong18-Feb-22 15:54 

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.