Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: All
Feb 22, 2000



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Bool Type Conversions

A value of type bool can be converted implicitly to a value of type int, with false becoming zero, and true becoming one. For example:

  bool b = false;
  int n = b; // n equals 0
  b = true;
  double f = b; // f equals 1.0

Likewise, an arithmetic type, enumeration, pointer, or pointer to member can be converted to a value of type bool in the following manner: a zero value, null pointer, or null pointer to member is converted to false; any other value (including a negative value) is converted to true. For example:

  void (A::*pmf)() = &A::f ; //pmf is a pointer to a member
  int n = -1;
  bool b = pmf; // b equals true because pmf is not null
  b = n; // b equals true
  b = NULL; // b equals false
  b = 9.99f; // b equals true
Danny Kalev
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date