"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como concatenar literais de string e literais de caracteres em C++?

Como concatenar literais de string e literais de caracteres em C++?

Publicado em 2024-11-03
Navegar:952

How to Concatenate String Literals and Character Literals in C  ?

String Literals e Character Literals em C

Ao tentar concatenar literais de string com literais de caracteres em C , pode ocorrer um comportamento inesperado. Por exemplo:

string str = "ab"   'c';
cout 

Este código produz uma saída imprevisível porque o operador " " não está definido para combinar literais de string e literais de caracteres. Em vez disso, o compilador trata a string literal como uma string no estilo C (um ponteiro const char) e adiciona o valor int promovido do literal de caractere ao endereço da string literal. Isso resulta em um comportamento indefinido.

Para evitar esse problema, converta explicitamente o literal de caractere em uma string antes da concatenação:

std::string str = std::string("ab")   'c';

Como alternativa, use a concatenação para obter o resultado desejado:

std::string str = "ab";
str  = 'c';

No segundo trecho de código, o objeto string possui um operador " " sobrecarregado que executa a concatenação pretendida.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3