Strings e ponteiros - C/C#/C++ - Clube do Hardware
Strings e ponteiros
Por JVitor32, 16 de janeiro de 2012 em C/C#/C++
JVitor32 0
Bom dia pessoal, eu sou estudante de agronomia e sou novo no fórum. Gostaria que alguém, por favor, respondesse as seguintes dúvidas:
1 - Quando declaramos uma string estilo c em c++, a variável que "armazena" a matriz de caracteres é na verdade um ponteiro para o primeiro caractere "disfarçado", não é? Sendo assim, teria problema de declarar uma string da seguinte forma:
wchar_t* str = L"Uma nova string."
? O que quero saber é se corre o risco do código acima sobrescrever alguma parte da memória que não deveria ser alterada por não estar sendo indicado o tamanho da matriz.
2 - Ainda sobre strings e ponteiros: se eu armazenar uma referência para uma sequência de caracteres em um objeto criado em um programa mais complexo, onde objetos estão contantemente sendo criados e apagados da memória, corre o risco de, em algum momento, alguma string estilo c ser parcialmente sobrescrita por algum outro objeto? Pergunto isso porque, como o ponteiro aponta apenas para o primeiro caractere então imagino que o computador veja esta string como um único caractere e não faça a verificação do seu tamanho antes de escrever algo na memória. Isso pode realmente ocorrer?