Hola.
Si, como te comentan, es importante diferenciar el
C-string de las clases
string de C++(STL) y
AnsiString de C++ Builder (VCL).
El primero es un arreglo de caracteres terminado en '\0'. Un
C-string que almacena la palabra "hola" contiene cinco caracteres: 'h', 'o', 'l', 'a', '\0'.
Por otro lado existe una fuerte relación entre punteros y arreglos en
C:
Código PHP:
{
char cad [] = "hola ";
char* pcad = &cad[0]; // comúmente sólo: &cad
//entonces se ve que:
printf("%c %c", cad[0], *(pcad+0)); // h h
printf("%c %c", cad[1], *(pcad+1)); // o o
Es tán intrínseca esa relación, que es muy común ver inicializar variables así:
Código PHP:
{
char* cad = "hola ";
printf("%c %c", cad[0], *cad); // h h
La clase
AnsiString es el análogo
C++ Builder a las cadenas largas de
Delphi (
AnsiString).
En cuanto a las clases string (STL) y AnsiString (VCL), aunque no son iguales, permiten funcionalidades similares a la hora de asignar y concatenar.
string (STL):
Código PHP:
...
#include<string>
int main()
{
std::string s1 = "hola ";
std::string s2 = "mundo";
std::string s3 = s1 + s2;
AnsiString (VCL):
Código PHP:
#include <vcl.h>
...
{
AnsiString s1 = "hola ";
AnsiString s2 = "mundo";
AnsiString s3 = s1 + s2;
Saludos