如果我有int x[10]
和int *y
,如何分辨两者之间的区别?
我有两个想法:
还有其他吗?
在某些模板库代码中,我需要确定指针是“真实”指针还是从数组中退化而来。我看不到源代码,因为在编写库之前,该库用户不存在。 ...我可以通过重写代码来解决此问题,所以现在这只是理论上的练习。
最佳答案
sizeof
的想法不是很好,因为如果数组碰巧只有一个元素,并且元素类型恰好与指针大小相同,那么它将与指针大小相同。
类型匹配方法看起来更有前途,并且大概可以用来选择模板特化(如果您要这样做)。
关于c++ - 整数数组与c中指向整数的指针,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1133170/