【发布时间】:2012-12-27 09:51:32
【问题描述】:
可能重复:
what is the difference between const int*, const int * const, int const *
我在阅读 FLTK 代码时碰到这行代码:
Fl_Widget*const* a = array();
这是实际代码:
Fl_Widget*const* Fl_Group::array() const {
return children_ <= 1 ? (Fl_Widget**)(&array_) : array_;
}
int Fl_Group::find(const Fl_Widget* o) const {
Fl_Widget*const* a = array();
int i; for (i=0; i < children_; i++) if (*a++ == o) break;
return i;
}
现在我想知道指针变量a 的类型是什么。 Fl_Widget*const* a = array(); 和 Fl_Widget** const a = array(); 是否相等?
【问题讨论】:
-
现有一篇文章涵盖了这一点(以及更多指针和 const 的组合):stackoverflow.com/questions/1143262/…
-
你可以使用right-left rule来“解密”这个。
-
使用cdecl。