Datoxalas
Datoxalas

Reputation: 1289

Which value is better to use? Boolean true or Integer 1?

Does it make any sense or not?

Upvotes: 15

Views: 16483

Answers (3)

Lightness Races in Orbit
Lightness Races in Orbit

Reputation: 385194

For what? Use a boolean for a boolean; use an integer when you're counting something.

Upvotes: 3

Reed Copsey
Reed Copsey

Reputation: 564433

I recommend using true if your type is logically a boolean. This will be far more clear in terms of intent, which makes your code more maintainable.

Upvotes: 14

Alexander Gessler
Alexander Gessler

Reputation: 46607

A boolean true is, well, a boolean value. Use it whenever you want to express that a certain binary condition is met.

The integer literal 1 is a number. Use it, whenever you are counting something.

Don't use integers for booleans and vice versa. They are different.

Consider a variable int isEnabled. Of course, I can guess that 0 and 1 may be the only intended values for this variable. But language-wise, nothing keeps me from assigning 4247891. Using a boolean, however, restricts the valid values to true and false. This leaves no room for speculation.

(C++ int's and bools are somewhat convertible, but it's generally frowned upon)

Upvotes: 37

Related Questions