Neste artigo, vamos resolver a string indefinida de maneiras efetivas suportadas pela linguagem de programação C ++. Compreender exceções indefinidas de string como programador C ++ é essencial para a codificação e o desempenho eficaz do programa, principalmente quando os códigos C ++ são integrados à arquitetura do sistema.
A abordagem para corrigir o erro "String é indefinido" em C++
Se você é novo na linguagem de programação C ++, pode encontrar erros como a string c ++ é indefinida. Em C ++, temos duas maneiras de resolver o erro para uma string indefinida.
Exemplo 1
Aqui em nosso primeiro exemplo, vamos mostrar como o compilador C ++ lança um erro de string é indefinido. No início do nosso programa, importamos uma biblioteca chamada "iostream". O iostream é um arquivo de cabeçalho em C ++ que especifica uma coleção de funções padrão de entrada e saída. Ele também contém objetos de stream de E/S, como CIN, Cout, Toplog, e assim por diante. O cout é utilizado para exibir a saída "Digite seu nome".
Após esta linha, temos o comando CIN que leva a entrada do usuário da string "namestr". Através do comando cout, a saída e a entrada serão exibidas. O "retorno 0" usado no final da função principal executa a função com sucesso.
#incluir
int main ()
string namestr;
cout << "Enter your name "NameStr;
cout << "Your Name : " << NameStr << endl;
retornar 0;
Você pode observar que a compilação do programa acima dá um erro dessa maneira e também sugere a maneira de declarar string na função principal. Temos um resultado inesperado da execução acima.
Exemplo 2
O programa de ilustração acima lança o erro indefinido. Agora, temos que resolver o erro da string indefinida usando o namespace std na seção de arquivo de cabeçalho. Incluímos o arquivo iostream no programa C++. Abaixo do arquivo iostream, incluímos o arquivo "namespace std" com a palavra -chave "usando". O namespace std nos ajudará a superar o erro indefinido da string. Em seguida, criamos dois namespaces "Integer" e "Double".
No bloco do espaço para nome "inteiro", declaramos duas variáveis "a" e "b" do tipo inteiro e as inicializamos com os valores numéricos. Fizemos o mesmo no bloco de namespace "duplo", mas o tipo usado é o dobro. Observe que definimos variáveis com os mesmos nomes "A" e "B" em ambos os namespaces. Esta é a propriedade do espaço para nome que nos permite declarar variáveis e funções com o mesmo nome.
Em seguida, temos a principal função que está acessando as variáveis do espaço para nome usando o operador de resolução de escopo. Através do comando cout, exibiremos o valor da variável "a" do espaço para nome "inteiro" e o valor da variável "B" do espaço para nome "duplo".
#incluir
usando namespace std;
Namespace Inteiro
int a = 2;
int b = 8;
namespace duplo
duplo a = 1.888;
duplo b = 2.745;
int main ()
usando o número inteiro :: a;
usando duplo :: b;
cout << "a="<< a << endl;
cout << "b="<< b << endl;
cout << "Integer="<< Integer::a << endl;
cout << "Double="<< Double::b << endl;
retornar 0;
Temos um resultado esperado usando o namespace std na seção de arquivo de cabeçalho do programa acima.
Exemplo 3:
Temos outra maneira de nos livrar do erro indefinido da string, que está usando o STD com o operador de resolução de escopo ao definir a variável de string de tipo. No programa abaixo, importamos dois arquivos padrão "iostream" e "string" que compilam o código bem. A função principal é definida e o corpo da função principal possui o comando std cout a princípio com o operador de resolução de escopo. É usado para exibir os dados de saída.
Em seguida, usamos o STD com o operador de resolução de escopo para a variável de string. Isso impedirá o erro da string indefinida no programa. O comando std cin receberá o valor do usuário, e a última linha possui o comando std cout, que é usado para exibir os dados de saída e os valores usados para ter inserido.
#incluir
#incluir
int main ()
std :: cout reg_no;
std :: cout grau;
std :: cout <<"Your Registartion Number is" << Reg_No << "and Your Degree is " << Degree << '\n';
retornar 0;
A abordagem STD :: String impede o erro de que a string está indefinida. O resultado é mostrado na tela do console do Ubuntu.
Exemplo 4
Em vez de usar a DST com resolução de escopo com todas as variáveis, função ou comando; Podemos incluir a DST com o operador de resolução de escopo, definindo -o na seção de cabeçalho com a palavra -chave "usando". Como você pode ver, depois de importar o arquivo padrão no C ++, temos uma instrução STD :: String com a palavra -chave "usando" e também algumas outras instruções de DST necessárias.
Em seguida, temos uma função de string e, no construtor desta função, damos a referência da string "& st". No bloco de função da string, definimos um método "rbegin" para reverter a string e um método "rend" para retornar a extremidade reversa da string especificada. Depois disso, temos a principal função em que a variável da string é definida e inicializada.
#incluir
#incluir
#incluir
usando std :: cout; usando std :: endl;
usando std :: string; usando std :: reverse;
String Revstr (String & st)
string reversa (ST.rBegin (), ST.rend ());
retornar reverso;
int main ()
string mystring = "reverter a string";
cout << MyString << endl;
cout << RevStr(MyString) << endl;
retornar 0;
Podemos impedir o erro indefinido da string dessa maneira também. Não precisamos escrever uma declaração STD com todas as declarações de string no código. Podemos defini -lo na seção de cabeçalho apenas uma vez. Os resultados são mostrados na imagem a seguir.
Conclusão
Agora, chegamos a saber como eliminar o erro indefinido em C em C++. Passamos pela provável causa do erro com o exemplo em execução no artigo. Examinamos o programa que não estava usando o espaço para nome STD e STD :: String e determinamos o quão importante eles são no código C ++. Essas abordagens certamente ajudarão os programadores a evitar o erro indefinido.