1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Diferença de membro de classe e um variável global no momento de alocação de memória e c++

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

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags c++ memória ou faça a sua própria pergunta.