Click here to Skip to main content
15,795,231 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
QuestionC++ programming Pin
ali khan Mar20226-Mar-22 9:08
ali khan Mar20226-Mar-22 9:08 
AnswerRe: C++ programming Pin
Richard MacCutchan6-Mar-22 22:57
mveRichard MacCutchan6-Mar-22 22:57 
AnswerRe: C++ programming Pin
Edd.Dan1-May-22 5:47
professionalEdd.Dan1-May-22 5:47 
QuestionGetting a specific version of rich edit Pin
ForNow6-Mar-22 9:02
ForNow6-Mar-22 9:02 
AnswerRe: Getting a specific version of rich edit Pin
Randor 9-Mar-22 10:25
professional Randor 9-Mar-22 10:25 
GeneralRe: Getting a specific version of rich edit not hitting my WordBreak Function Pin
ForNow9-Mar-22 14:49
ForNow9-Mar-22 14:49 
QuestionStruct with union with different sized members - How can I declare the smallest struct? Pin
arnold_w6-Mar-22 2:17
arnold_w6-Mar-22 2:17 
AnswerRe: Struct with union with different sized members - How can I declare the smallest struct? Pin
Mircea Neacsu6-Mar-22 3:39
Mircea Neacsu6-Mar-22 3: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 18:42
ForNow5-Mar-22 18:42 
AnswerRe: Line Break Rich Edit Pin
Richard Andrew x646-Mar-22 5:33
professionalRichard Andrew x646-Mar-22 5:33 
GeneralRe: Line Break Rich Edit Pin
ForNow6-Mar-22 6:19
ForNow6-Mar-22 6:19 
QuestionC++ even numbers query Pin
Member 1555051328-Feb-22 17:30
Member 1555051328-Feb-22 17:30 
AnswerRe: C++ even numbers query Pin
Victor Nijegorodov28-Feb-22 21:31
Victor Nijegorodov28-Feb-22 21:31 
GeneralRe: C++ even numbers query Pin
Member 1555051328-Feb-22 22:33
Member 1555051328-Feb-22 22:33 
GeneralRe: C++ even numbers query Pin
Victor Nijegorodov1-Mar-22 0:02
Victor Nijegorodov1-Mar-22 0:02 
GeneralRe: C++ even numbers query Pin
Member 155505131-Mar-22 18:31
Member 155505131-Mar-22 18:31 
GeneralRe: C++ even numbers query Pin
Victor Nijegorodov1-Mar-22 23:32
Victor Nijegorodov1-Mar-22 23:32 
GeneralRe: C++ even numbers query Pin
Richard MacCutchan1-Mar-22 23:40
mveRichard MacCutchan1-Mar-22 23:40 
QuestionRe: C++ even numbers query Pin
David Crow1-Mar-22 4:50
David Crow1-Mar-22 4:50 
AnswerRe: C++ even numbers query Pin
Richard Andrew x642-Mar-22 10:42
professionalRichard Andrew x642-Mar-22 10:42 
QuestionC Pin
Christine Belisario25-Feb-22 21:48
Christine Belisario25-Feb-22 21:48 
AnswerRe: C Pin
Richard MacCutchan25-Feb-22 23:52
mveRichard MacCutchan25-Feb-22 23:52 
AnswerRe: C Pin
RedDk26-Feb-22 9:47
RedDk26-Feb-22 9:47 
GeneralRe: C Pin
Greg Utas26-Feb-22 11:32
mveGreg Utas26-Feb-22 11:32 
Questionhow to dynamically delete sub-control created in run-time Pin
wuxianzhong18-Feb-22 16:54
wuxianzhong18-Feb-22 16: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.