Forma correcta de bucle a través de las matrices de C ++
Recientemente he encontrado muchos ejemplos, la mayoría de ellos relacionados con el C ++ 98, de todos modos he creado mi matriz simple y un bucle (teclado):
#include <iostream>
using namespace std;
int main ()
{
string texts[] = {"Apple", "Banana", "Orange"};
for( unsigned int a = 0; a < sizeof(texts); a = a + 1 )
{
cout << "value of a: " << texts[a] << endl;
}
return 0;
}
Salida:
value of a: Apple value of a: Banana value of a: Orange Segmentation fault
Está funcionando bien, excepto la falla de segmentación al final.
Mi pregunta es, ¿esta matriz / bucle se realiza de forma correcta? Estoy usando C ++ 11, ¿me gustaría estar seguro de que cumple con los estándares y no podría hacerse de una mejor manera?