【发布时间】:2009-05-15 20:21:29
【问题描述】:
我知道指针是用来指向对象的,所以你在程序中也必须这样做。但是指针名称是如何存储的。声明一个比它指向的对象占用更多资源的指针名称是否有点矫枉过正,例如:
int intOne = 0;
int *this_pointer_is_pointing_towards_intOne = &intOne;
我知道这是一个荒谬的例子,但我只是想表达这个想法。
编辑:指针的名称必须存储在比指向对象的地址占用更多字节的地方。
【问题讨论】:
-
变量名和变量的区别你明白了吧?
-
我认为你误解了指针。指针只是它指向的值所在的内存地址。使用的变量名对此完全没有影响。变量名只是一种使编写代码更容易的结构;他们不会更改生成的二进制文件。
-
我投了赞成票,因为这是一个很好的问题 imo
-
@litb,请取消删除您的答案,太好了!我开始编辑以解释编译和链接,但中止了它,然后看到了你的。我认为这正是 Babiker 需要的信息。
-
爱马仕,不要太确定。具有链接的名称(文件范围 (C) / 命名空间范围 (C++) 变量)通常会注册到符号表中以进行重定位。不过,可以使用“剥离”工具将它们剥离