Feature #763
Simplify config mechanism
Status:
Neu
Priorität:
Normal
Zugewiesen an:
-
Zielversion:
-
Beginn:
16.04.2026
Abgabedatum:
% erledigt:
0%
Geschätzter Aufwand:
CS Zielversion:
Beschreibung
struct ConfigBase
{
char node;
int time;
};
struct ConfigBaseExpanded: ConfigBase
{
char res[0x20-sizeof(ConfigBase)];
};
struct ConfigCustom: ConfigBase
{
int color;
};
class CTest
{
protected:
ConfigBaseExpanded m_configBase;
public:
CTest()
{
printf("Base config is at %p\n", &m_configBase);
}
};
class CCustom: public CTest
{
protected:
ConfigCustom& m_config{ (ConfigCustom&)m_configBase };
public:
CCustom()
//:m_config( (ConfigCustom&)m_configBase )
{
printf("Custom config is at %p\n", &m_config);
};
};
If you want to save 4 Bytes:
#define m_config (*(ConfigCustom*)&m_configBase )