When working with Project Euler problems I often need large (> 10**7) bit array's.
My normal approach is one of:
bool* sieve = new bool[N];
bool sieve[N];
When N = 1,000,000 my program uses 1 MegaByte (8 * 1,000,000 bits).
Is there a more efficient way to use store bit arrays than bool in c++?