Você está aqui: C++ ::: Dicas & Truques ::: Strings e Caracteres |
Obtendo o tamanho da armazenagem alocada para um objeto stringQuantidade de visualizações: 7545 vezes |
|
Diferente das strings terminadas em null da linguagem C, objetos da classe string do C++ são dinamicamente redimensionadas quando necessário. A maioria das implementações iniciam com uma capacidade baixa e vão dobrando à medida que a quantidade de caracteres se iguala à capacidade do buffer. Desta forma, o valor resultante de uma chamada à função capacity será sempre igual ou maior que o valor retornado pelas funções size e length. Veja um exemplo:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
// define uma variável do tipo string
string str = "";
// obtém a capacidade atual
cout << "Capacidade inicial: " << str.capacity() << "\n";
// redimensiona a string, mas esta continua vazia
str.reserve(5);
// obtém a capacidade atual
cout << "Capacidade: " << str.capacity() << "\n";
// adiciona caracteres à string
for(int i = 0; i < 300; i++){
str += "xxx";
// verifica a capacidade novamente
if(str.size() == str.capacity()){
cout << "Aumentando a capacidade para: "
<< str.capacity() << "\n";
}
}
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|
|
|
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





