C++指针转换
如果有两个类CA, CB, 分别有成员函数funA, funB。
有一个指向CA的指针pA, 如果强制转换一下pB=(CB*)pA, 那么pB,pA实际上指向的是同一个地址,可为什么pB->funB(),和pA->funA()都可以运行?
以前一直以为指针指向的内存应该是某个固定的变量,如果是CA的实例,那么就应该总是CA.
这是为什么呢?
有一个指向CA的指针pA, 如果强制转换一下pB=(CB*)pA, 那么pB,pA实际上指向的是同一个地址,可为什么pB->funB(),和pA->funA()都可以运行?
以前一直以为指针指向的内存应该是某个固定的变量,如果是CA的实例,那么就应该总是CA.
这是为什么呢?
...全文
相关推荐
C++基类指针和派生类指针之间的转换方法讲解
"本文主要讲解了C++中基类指针和派生类指针之间的转换,以及相关的函数重载、函数隐藏和函数覆盖的概念。这些是C++面向对象编程中的核心概念,对于理解类的继承和多态性至关重要。"在C++中,面向对
C++ 一般(普通)函数指针、类成员函数指针,用法区别,以及强制转换
通过阅读和分析这些文件,你可以更好地掌握C++中函数指针的用法和差异。
C++父子类指针转换[可运行源码]
在C++中,可以通过强制类型转换来实现父类指针到子类指针的转换,但这种转换方式缺乏安全性检查,一旦转换失败,程序将产生运行时错误,甚至可能导致程序崩溃。
C++智能指针类型转换[项目源码]
C++11标准中引入了智能指针类型转换功能,主要包含在std命名空间下。
C++对象内存布局---vc 怎么布局每个 c++ 对象,以及怎样完成指针的转换的过程
但在具有虚函数的多继承结构中,空基类依然需要一个虚函数表指针。理解C++对象的内存布局有助于优化代码,减少不必要的内存开销,同时正确地进行指针转换,避免潜在的问题。


