c++中的const 限定修饰符

本文详细解析了C++中各种指针的概念及使用方法,包括普通指针、指向const对象的指针、const指针以及指向const对象的const指针等,并通过具体示例展示了这些指针的特点和用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1None.gif#include <iostream>
 2None.gifusing namespace std;
 3None.gif
 4None.gifint main()
 5ExpandedBlockStart.gifContractedBlock.gifdot.gif{
 6ExpandedSubBlockStart.gifContractedSubBlock.gif    /**//*
 7InBlock.gif    关键字:指针,地址,值,const
 8InBlock.gif    变通对象:值可变
 9InBlock.gif    const 对象 : 值可变
10InBlock.gif    变通指针:地址和值都可变
11InBlock.gif    指向const对象的指针 :地址可变,值不可变
12InBlock.gif    const 指针:地址不可变,值可变
13InBlock.gif    指向const对象的const 指针 :地址和值都不可变    
14ExpandedSubBlockEnd.gif    */

15InBlock.gif
16InBlock.gif    const int a = 1// int类型的const对象,初始值为1 。 另一种写法好像也正确,int const a = 1;
17InBlock.gif    int b = 2;
18InBlock.gif    int *pa = 0;
19InBlock.gif    const int *pb = 0// 指向int类型的const对象的指针。另一种写法也正确,int const *pb = 0;
20InBlock.gif                                                        // 其实就是说const 关键字和int关键字先后顺序随便。
21InBlock.gif    int *const pc = &b; // 指int类型的对象的const指针
22InBlock.gif    const int *const pd = &a; // 指int类型的const对象的const指针
23InBlock.gif
24InBlock.gif    // pa = &a; // const 对象的地址只能赋值给指向 const对象的指针。pa不是指向const对象的地址。b
25InBlock.gif    // pb = &a;
26InBlock.gif    // pb = &b; // 指向 const 对象的指针,可以指向const 对象的地址,也可以指向非const对象的地址。
27InBlock.gif
28InBlock.gif    // pb = &a; // or pb = &b;
29InBlock.gif    // *pb = 9; // 指向 const 对象的指针,可以指向不同的对象,但不可以改变所指向对象的值。
30InBlock.gif
31InBlock.gif    // pc = &a; // const指针不能赋以其它对象的地址了。
32InBlock.gif    // *pc = 9; // const指针所指向的对象的值是可以通过其改变的。
33InBlock.gif
34InBlock.gif    cout << *pd << endl;
35InBlock.gif
36InBlock.gif    return 0;
37ExpandedBlockEnd.gif}

转载于:https://www.cnblogs.com/luqingfei/archive/2007/05/11/743031.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值