作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
有没有办法检测 p 和 d 指向的对象是否属于不同类型? (p 指向 int,d 指向 int 数组):
int* p = new int();
int* d = new int[20];
最佳答案
...objects pointed by p and d are of different types? (p points to int and d points to array of ints):
嗯,首先,这并不正确。是的,d
指向一个数组的开头,但是他们都指向完全相同的东西;一个 int
。您是否可以安全地对指针执行算术然后取消引用它是另一个问题。
当您取消对它们的引用时,机器只是简单地返回给您一个适当大小的内存块并将其解释为一个 int。
C++ 并不完全是元编程的 goto 语言,如果您要处理指针,它真的很重要吗?我从来没有发现需要这样做。你知道你有一个指针,你(应该)知道它是指向一个 int
还是一堆 int
就像你声明的那样,所以你到底是什么问题正在尝试解决?
关于c++ - 检测我指的是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9068250/
我是一名优秀的程序员,十分优秀!