I saw one example
int x = 10;
int y = 5;
bool isGreater = x > y;
printf("%d", isGreater);
But I could write this
int x = 10;
int y = 5;
printf("%d", x > y);
I am a complete beginner and I have no real reason why I would or would not want to deal with boolean variables, but I want to understand their raison d’être.
Edit: typo city


C++ actually does this ‘optimisation’ for
std::vector<bool>. I say ‘optimisation’ because it effectively trades time for space, which is usually the opposite of what you want - space is cheap, time usually isn’t. Sometimes it’s a good tradeoff though - it’s common in embedded development where you might only have a few kB of RAM.