下列表达式,哪一是声明P为指向常量的指针()
A: const int *p
B: int* const p;
C: const int *const p
D: int *p
A: const int *p
B: int* const p;
C: const int *const p
D: int *p
举一反三
- 下列语句中错误的是( )。 A: const int x; B: const int *p=0; C: const int y=99; D: const int *p=new int(100);
- 下面不正确的函数重载是________。 A: int A1(float &r) { return 1; } int A1 (float const &r) { return 1; } B: float A1(int *const p) { return 1; } float A1 (const int *p) { return 1; } C: int A1 (float * const p) { return 1; } int A1(float const * const p) { return 1; } D: float A1 (int const *const p) { return 1; } float A1(const int *p) { return 1; }
- 如有定义const int i=5; const int j=3; const int *p=&i; 则执行语句p=&j; 是合法的。
- 有如下定义: int a=5; const int *p=&a; 语句: *p=10; 有错,错误原因是( )。
- 分析下列程序,指出该程序中定义了几种常类型量。 #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