const string & Student::Name() const { return (const string &)*this; }
[quote=引用 12 楼 xuzzzhen123 的回复:] [quote=引用 8 楼 sdghchj 的回复:] [quote=引用 6 楼 xuzzzhen123 的回复:] 根据C++类的内存布局,私有成员是排在前面的。因此,第一个成员m_Name和this的地址相同。 地址相同的东西按不同的类型可以解析成不同的东西,因此可以通过强制类型转换,将Student对象转换为string类对象。 附调试截图在此: 如果还有疑问,欢迎继续跟帖交流。如果已经清楚,请您结贴给分,谢谢。 =============================================== By伟大的领袖、伟大的导师、伟大的舵手、天才程序员:xuzzzhen123
[quote=引用 6 楼 xuzzzhen123 的回复:] 根据C++类的内存布局,私有成员是排在前面的。因此,第一个成员m_Name和this的地址相同。 地址相同的东西按不同的类型可以解析成不同的东西,因此可以通过强制类型转换,将Student对象转换为string类对象。 附调试截图在此: 如果还有疑问,欢迎继续跟帖交流。如果已经清楚,请您结贴给分,谢谢。 =============================================== By伟大的领袖、伟大的导师、伟大的舵手、天才程序员:xuzzzhen123
根据C++类的内存布局,私有成员是排在前面的。因此,第一个成员m_Name和this的地址相同。 地址相同的东西按不同的类型可以解析成不同的东西,因此可以通过强制类型转换,将Student对象转换为string类对象。 附调试截图在此: 如果还有疑问,欢迎继续跟帖交流。如果已经清楚,请您结贴给分,谢谢。 =============================================== By伟大的领袖、伟大的导师、伟大的舵手、天才程序员:xuzzzhen123
[quote=引用 8 楼 sdghchj 的回复:] [quote=引用 6 楼 xuzzzhen123 的回复:] 根据C++类的内存布局,私有成员是排在前面的。因此,第一个成员m_Name和this的地址相同。 地址相同的东西按不同的类型可以解析成不同的东西,因此可以通过强制类型转换,将Student对象转换为string类对象。 附调试截图在此: 如果还有疑问,欢迎继续跟帖交流。如果已经清楚,请您结贴给分,谢谢。 =============================================== By伟大的领袖、伟大的导师、伟大的舵手、天才程序员:xuzzzhen123
64,688
社区成员
250,496
社区内容
加载中
试试用AI创作助手写篇文章吧