如有定义const int i=5; const int j=3; const int *p=&i; 则执行语句p=&j; 是合法的。
举一反三
- 已知:int v{5};则语句:const int *p{&v};合法吗?
- 定义q为一个指向int类型的变量i的常指针语句( )。 A: int * const q=i; B: int * const q=&i; C: const int *q=i; D: const int *q=&i;
- 下列表达式,哪一是声明P为指向常量的指针() A: const int *p B: int* const p; C: const int *const p D: int *p
- 分析下列程序,指出该程序中定义了几种常类型量。 #include class C { public: C(int i) { p=i; } int getp() { return p; } const int fun(int i)const { return p+i; } private: int p; }; void main() { C a(4); const int b=a.fun(6); int c=a.getp(); cout
- 解释下列5个定义的含义,指出其中哪些定义是非法的:(a)int i;(b)const int ic;(c)const int*pic;(d)int*const cpi;(e)const int*const cpic;