【发布时间】:2015-06-08 11:09:44
【问题描述】:
如果我有:
struct S
{
std::size_t szArray;
int dArray[];
} ;
int main()
{
extern int (*pArr)[]; //pointer to member 'dArray' of object with type 'S'
S *pStruct = /*??????????*/; //pointer to the object
}
获取此指针的最佳方法是什么?
【问题讨论】:
-
您知道数组自然会衰减为指向其第一个元素的指针吗?此外,标准 C++ 不支持结构中的灵活数组,如果结构中有数组,则它必须在编译时具有大小,否则使用
std::vector。 -
我知道,但我想使用指向数组的指针来保存它们指向多个对象而不是一个对象的信息。无论如何 - 我不知道为什么我留下的印象是 C++ 支持灵活数组,但在任何情况下都不会改变这种情况。
标签: c++ pointers structure c++14