+ 1

Why do we need to declare pointer dataype with string while it has a hexadecimal integer??

Say, string x="asdg"; int *p=&x; //It shows an error why???we store hexadecimals in it.

27th Jun 2017, 1:52 AM
Pramit@10
Pramit@10 - avatar
1 Answer
+ 5
This is actually quite straightforward. You are literally asking this: https://stackoverflow.com/questions/19292224/why-do-we-need-different-datatype-for-pointer When you do &x, the address pointing to the first character in the string is returned, but not for the rest of the characters. E.g. 0x7ff950 <- &x will only return this address 0x7ff954 0x7ff958 0x7ff95c This shows one of the possible differences between int* and std::string*.
27th Jun 2017, 2:28 AM
Hatsy Rei
Hatsy Rei - avatar