2010-12-05 15 views
1

Wenn ich eine Funktion in C schreibe, die auch in einem C++ - Kontext nützlich sein kann, soll ich das Bool-Makro verwenden oder nicht? Könnte das zu Kompatibilitätsproblemen führen, bei C und C++ definieren beide einen Bool-Typ (nun, C kennt _Bool, aber weißt du, was ich meine :-))?Bool und C/C++ - Interoperabilität

Antwort

4

Warum nicht int verwenden? Es wird immer ordnungsgemäß unterstützt.

Der einzige Grund für die Verwendung von bool wäre, wenn Sie sicher wüssten, dass Ihr Code nur in modernen C- und C++ - Umgebungen verwendet wird. Aber wenn es eine Chance gäbe, dass es auf einem alten Legacy-Compiler laufen müsste, vielleicht für einen obskuren eingebetteten Prozessor, müsste jemand Makros einfügen und den Code massieren.

0

Wenn Sie sehr daran interessiert sind, Speicher zu sparen, können Sie stattdessen einen char verwenden.