OK, je ne suis pas entièrement un débutant, mais je ne peux pas dire que je comprends la macro suivante. La partie la plus confuse est la division avec la valeur jeté à size_t: que diable cela accomplit-il? Surtout, puisque je vois un opérateur de négation, qui, autant que je sache, pourrait aboutir à une valeur nulle. Cela ne signifie-t-il pas que cela peut conduire à une division par zéro? (Soit dit en passant, la macro est correcte et fonctionne à merveille.)Macro ARRAYSIZE C++: comment ça marche?
#define ARRAYSIZE(a) \
((sizeof(a)/sizeof(*(a)))/\
static_cast<size_t>(!(sizeof(a) % sizeof(*(a)))))
est-ce la chose? À quoi sert # endif? –