При работе с проблемами Project Euler мне часто нужны большие ( > 10 ** 7) битовые массивы.
Мой обычный подход является одним из:
bool* sieve = new bool[N];
bool sieve[N];
Когда N = 1,000,000, моя программа использует 1 мегабайт (8 * 1 000 000 бит).
Существует ли более эффективный способ использования массивов бит хранилища, чем bool в С++?