Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
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

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.

 

 

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