Boa noite.
Estou estudando alguns algoritmos e me deparei com uma situação curiosa que ocorre no c++.
No código abaixo, quando tento criar um bitset como membro de classe, o maior bitset que o compilador me deixa criar sem dar SIGENV é 2 ^ 23, mas quando o bitset eh uma variavel global eu posso criar um bitset no minimo 2 ^ 31 (foi ateh onde testei
std::bitset<1<<26> crive;
class Crive {
public:
std::bitset<1<<23> crive;
}
Ja procurei no google uma explicaçao sobre alocação de memória, diferença de variável global e membro de classe, mas não achei uma explicação simples e clara sobre minha dúvida. Alguém pode explicar como funciona isso ?
Att