C ++: usa para membros de dados estáticos

membros de dados estáticos têm usos umpteen em C ++, mas aqui são apenas alguns exemplos. Primeiro, você pode usar membros estáticos para manter a contagem do número de objetos que flutuam aproximadamente.

Video: Prof. Manuel Martins | Estatística Módulo 2 - Organização de Dados Estatísticos (29/08/2016)

Lembre-se, no entanto, que esta contagem reflete o número de Aluna objetos (incluindo quaisquer temporários) e não necessariamente o número de alunos.

A utilização intimamente relacionado para um membro estático é como uma bandeira para indicar se ocorreu uma ação particular. Por exemplo, uma classe Rádio pode precisar de inicializar o hardware antes de enviar o primeiro afinação de comando, mas não antes de posterior tunes. Um sinalizador que indica que este é o primeiro afinação é apenas o bilhete. Isto inclui sinalização quando ocorreu um erro.

Outro uso comum é para proporcionar espaço para o ponteiro para o primeiro membro de uma lista - o chamado ponteiro cabeça. Membros estáticos pode alocar bits de dados comum que todos os objetos em todas as funções de compartilhamento (uso excessivo dessa memória comum é uma péssima idéia, pois isso faz com que erros de rastreamento difícil).

Observe como a função de membro estático número() pode acessar o membro de dados estáticos noOfStudents. Na verdade, esse é o único membro da classe que ele possa acessar - uma função de membro estático não está associado a qualquer objeto. Foram-lhe para declarar nome() para ser estático, você pode se referir a Nome do aluno(), que imediatamente levantam a questão: “Qual nome?”



O seguinte fragmento é apenas um caso em que um método estático pode referir-se directamente a um membro não-estático:

classe Student {public: static int elementsInName () {int sizeOfArray = sizeof (name) -Retornar sizeOfArray / sizeof (char) -} protegido: Nome do char [MAX_NAME_SIZE] -} -

Aqui o método estático elementsInName () refere-se a nome sem fazer referência a qualquer objecto. Isso não era legal antes de o padrão 2011. É permitido agora porque o tamanho de nome é o mesmo para todos os objetos. Assim, não importa qual objeto que você se refere.

Video: Dados estatísticos das redes sociais no Brasil e no Mundo

Você pode se perguntar por sizeof (nome) foi dividido por sizeof (char). o sizeof (nome) devolve o número de bytes no nome da matriz. Mas o que você quer é o número de elementos em nome, então você tem que dividir pelo tamanho de cada elemento em nome.

Mas não é sizeof (char) igual a 1? Bem, talvez, mas talvez não. dividindo o tamanho de a matriz pela tamanho de um único elemento sempre funciona para todos os tipos de matriz.


Publicações relacionadas