【发布时间】:2023-03-10 06:21:02
【问题描述】:
我正在阅读这个重载 operator new 的内存管理代码。有类似的表达
typedef char *b
后来在代码中 b 是这样使用的:
b(h); //h is a pointer to some class;
h 在这里定义:
static Head* h= (Head*) HEAP_BASE_ADDRESS;
我假设当使用 b 时,它被认为是指向 char 的指针。但是指针怎么可能有像 b() 这样的表达式呢?这里有某种转换吗?我可以理解为 b 现在与 h 具有相同的地址吗?
【问题讨论】:
-
b被定义为类型名称,特别是char*类型的别名。b(h)是函数式类型转换,相当于((char*)h)
标签: c++11 pointers memory-management operator-keyword