相关疑难解决方法(0)

关于"int const*p"和"const int*p"

#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{
    int i1 = 0;
    int i2 = 10;

    const int *p = &i1;
    int const *p2 = &i1;
    const int const *p3 = &i1;

    p = &i2;
    p2 = &i2;
    p3 = &i2;

    cout << *p << endl
        << *p2 <<endl
        << *p3 <<endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

可以使用VC6.0和VC2010编译代码.但我有一个问题:

const int*p =&i1;

这意味着什么"p"点不能修改,但p不能修改,我是对的吗?所以

p =&i2;

这条线可以遵守,是吗?

这一行:

int const *p2 = &i1;
Run Code Online (Sandbox Code Playgroud)

在我看来,这意味着p2无法修改,而p2点可以改变,我是对的吗?为什么

p2 =&i2;

可以编译?

关于这一行:

const int const*p3 …

c++ const

8
推荐指数
2
解决办法
1万
查看次数

标签 统计

c++ ×1

const ×1