Here is my test code:
And here is the result:Code:std::cout << &str << '\t' << (void *)&str[0] << '\t' << (void *)&str[1] << '\t' << (void *)&str[2] << '\t' << (void *)&str[3] << std::endl;
Why &str and &str[0] is not the same address? What is the sceret inside this?