"int* const* num"是什么意思?
What does "int* const* num" mean?
可能重复:
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();
相等吗?
从右到左阅读:
Fl_Widget * const * a
"pointer to" <- "constant" <- "pointer to" <- "a is"
其总和为"a
是指向Fl_Widget
的常量指针的指针"。
VAR a: POINTER TO CONST POINTER TO Fl_Widget
风格的声明可能会更清晰一些,但C++将他的变量声明语法从C中拖了出来,而C完全是关于表达式,而不是数据类型。见鬼,它甚至没有const
这个词,所以你不必去想它,而int *a, b
显然被破译为"*a
是int
,b
是int
"。
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 线应该是什么意思
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 表达式"b=(b-x)&x"是什么意思?
- 这个表达是什么意思?
- 此代码验证公式是什么意思?
- 跟踪日志中的T.11803()是什么意思?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- * 和 ** 在 C++ 函数声明中是什么意思?
- _T("xyz")是什么意思?
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 当我们说在执行程序时将操作系统的控制权传递给main()函数时,我们的意思是什么
- 这句话在c++中的意思是什么
- 这个typedef的意思是什么
- 这句话的意思是什么
- 意思是什么
- 这个句法的意思是什么?