C++——const关键字

在c++中不建议使用#define进行常量的定义,因为宏定义不存在类型纠错的功能。

常量指针的概念是不能使用该指针进行指向的值的修改,该指针可以指向其他内容。

int main()

{

int a = 10;

const int *p = &a;

std::cout << "\n" << *p << "\n" << std::endl;

}

int main()

{

int a = 10;

const int *p = &a;

//*p = 10;  p指针无法修改其指向的值

std::cout << "\n" << *p << "\n" << std::endl;

}


int main()

{

int a = 10;

const int *p = &a;

int b = 9;

p = &b;//p指针可以指向其他的实体

std::cout << "\n" << *p << "\n" << std::endl;

}

非常量指针可以初始化常量指针。

int main()

{

int a = 10;

const int *p;

int b = 20;

int *q=&b;

p = q;

std::cout << "\n" << *p << "\n" << *p<

}

//不使用强制转换,不能把常量指针初始化非常量指针。

int main()

{

int a = 10;

const int *p = &a;

//int *q = p;

std::cout << "\n" << *p << "\n" << *p<

}

使用强制转换时,常量指针也可以初始化非常量指针。

int main()

{

int a = 10;

const int *p=&a;

int *q;

q = (int *)p;//强制转换

std::cout << "\n" << *q << "\n" << *q<

}

你可能感兴趣的:(C++——const关键字)