水木社区手机版
首页
|版面-C++程序设计语言(CPlusPlus)|
新版wap站已上线
返回
1/1
|
转到
主题:[讨论][求助]为什么这段代码可以执行并且正常输出hello
3楼
|
z16166
|
2024-03-04 10:26:58
|
展开
non-virtual的成员函数的地址是编译期就知道的,不需要通过this去访问其地址就能直接call,所以this是nullptr也没关系。
virtual的成员函数,以及non-static的成员变量才需要通过this指针去访问,这些情况下this不能是nullptr。
但是,通过nullptr的this来调用成员函数属于Undefined Behavior
--
FROM 123.119.160.*
8楼
|
z16166
|
2024-03-05 14:07:16
|
展开
是的,说asm无用的可以休矣
【 在 qzyanyuan 的大作中提到: 】
: 用反汇编工具可以发现class里面函数地址是在全局函数指针表里面的不是局部的。
:
--
FROM 123.119.160.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版