C++ 如何在C++;?
例如,我有以下字符串:C++ 如何在C++;?,c++,arrays,string,memory-address,C++,Arrays,String,Memory Address,例如,我有以下字符串: std::string s = "Hello, World!" 我想要s的最后一个元素的地址,即“!” 我尝试了以下代码,但它似乎没有输出我想要的内容 std::cout << &s[s.length() - 1]; std::cout当前,您正在使用操作符自动地址返回=&s.back()的重载; 自动地址_front=&s.front(); 我唯一的抱怨是你用的是C型演员。。在我看来,静态播放应该是首选:)@Someprogrammerdude:
std::string s = "Hello, World!"
我想要s
的最后一个元素的地址,即“!”代码>
我尝试了以下代码,但它似乎没有输出我想要的内容
std::cout << &s[s.length() - 1];
std::cout当前,您正在使用操作符自动地址返回=&s.back()的重载;
自动地址_front=&s.front();
我唯一的抱怨是你用的是C型演员。。在我看来,静态播放应该是首选:)@Someprogrammerdude:我明白你的意思,但我觉得这是以牺牲调用站点的可读性为代价的。也许我年轻时用C编程花了太多时间;-)你还年轻!
std::cout << (const void*)(&s[s.length() - 1]);
auto address_back = &s.back();
auto address_front = &s.front();
cout << static_cast<void*>(address_back) << endl;
cout << static_cast<void*>(address_front) << endl;