⾕

C++  |  

Em C++, classes de armazenamento (storage classes) definem o tempo de vida, o escopo e o local de armazenamento de variáveis.

Essas classes ajudam o compilador a entender como e por quanto tempo uma variável deve existir na memória durante a execução do programa.

As principais classes de armazenamento em C++ são: auto, register, static, entre outras.

Exemplo Prático

Programa que faz uso de static, register e auto

Entendendo o Código

1. static: A variável totalChamadas dentro da função contadorChamadas é declarada como static. Isso significa que ela não será destruída ao fim da função — seu valor será preservado entre as chamadas.

A primeira vez que a função é chamada, a variável vale 0. Em seguida, ela acumula os incrementos de cada chamada seguinte.

2. auto: O auto nesse exemplo está sendo usado de forma implícita, ou seja, o compilador deduz automaticamente o tipo da variável it, com base no tipo de nomes.begin(). Isso deixa o código mais limpo e fácil de manter.

A palavra-chave auto também era uma classe de armazenamento tradicional, mas com o C++11 ela passou a ser usada para dedução automática de tipo.

3. register: A variável contador foi declarada como register, uma sugestão ao compilador para armazená-la em um registrador de CPU (quando possível), com o intuito de tornar o acesso mais rápido. Atualmente, os compiladores modernos costumam otimizar isso automaticamente, então o uso de register se tornou mais simbólico.

Next