Ich weiß, dass der Unterschied zwischen Defines und Konstanten darin besteht, dass Konstanten einen Typ haben, und dass zwischen Makros und Funktionen, Funktionen aufgerufen werden und typisiert sind, während Makros untypisiert inline sind. Nicht so sehr der Unterschied zwischen Structs und Klassen, aber ich glaube nicht, dass es einen gibt, abgesehen von der Sache mit den öffentlichen/privaten Standardwerten (und ich beziehe mich hier nur auf C++, nicht auf C).
Wie auch immer, gibt es Zeiten, in denen es effizienter, vorteilhafter oder zumindest sauberer ist, Defines/Makros/Strukturen zu verwenden, als die C++-Versionen, Konstanten, Funktionen und Klassen zu verwenden?
Insbesondere, und weil dies nur eine ohne einen klaren Unterschied (zumindest im endgültigen Programm) zwischen ihnen ist, ist es immer besser, Strukturen als Klassen zu verwenden, und wenn es nicht Effizienz-weise, welche Konventionen für die Verwendung von ihnen verwenden Sie?