const char ca[]="test";
const char cb[]="test";
const char *pca="test"; //(*)
const char *pcb="test";
cout<<(ca==cb)<<endl; //0
cout<<(pca==pcb)<<endl; //1
I'm quite confused about this result.
ca cb are different objects, when dealing with ca==cb, it compares the address of the first elements, so &ca[0]!=&cb[0].
But I don't understand the behaviour of pca pcb.
Does (*) equivalent to
const char temp[]="test";
const char *pca = temp;
?
Is "test" an object? and both pca and pcb points to the first element of this object?