指向const对象的指针 const指针的理解
#include <QtCore/QCoreApplication>
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication qa(argc, argv);
//指向const对象的指针:不可以改变指针所指向的值,可以改变指针指向
const double a = 1.1;
const double temp = 2.2;
const double *p =&a;
//*p = 3.3;//error
p = &temp;
cout<<*p<<endl;
//const指针: 不可以改变指针的指向,可以改变值
double b = 4.4;
double *const pp = &b;
//pp = &a; error
*pp = 5.5;
cout<<*pp<<endl;
//指向const对象的const指针:不可以不可以改变指针所指向的值,不可以改变指针的指向
const double c = 6.6;
const double temp2 = 7.7;
const double *const ppp = &c;
// ppp = &temp2;error
// *ppp = 8.8;//error
cout<<*ppp<<endl;
return qa.exec();
}
分享到:
相关推荐
在本文中,我们将详细分析 C++ const 指针和指向const的指针,帮助读者更好地理解和学习这两个概念。 const 指针 const 指针是指针变量的值一经初始化,就不可以改变指向,初始化是必要的。其定义形式如下: ```c ...
3. **指向常量的常指针(Const Pointer to Const)**: - 定义格式:`const int *const a = &b;` - 这种类型的指针表示指针本身及其指向的内容都是常量,即既不能改变指针的指向,也不能通过该指针修改其指向的...
当我们谈论`const`指针时,我们实际上是在讨论如何使用`const`修饰指针变量、指针所指向的变量以及同时修饰两者的情况。理解这些概念对于深入学习C语言至关重要。 1. **const修饰指针本身** 当`const`修饰指针本身...
在涉及指针的场景下,`const` 的用法变得更为复杂,因为它既可以用来修饰指针本身,也可以用来修饰指针所指向的对象。本文将详细讲解`const`与指针的关系,帮助读者理解这两种主要的用法。 1. 指向 const 对象的...
深入理解const与指针 一、可能的组合: 在 C 语言中,const 和指针的组合有很多种情况。下面列举 7 种可能的组合: 1. const char*p 2. char const*p 3. char *const p 4. const char p 5. char constp 6. char *...
const指针是指针本身不能被修改,而指向const的指针是指针指向的对象不能被修改。 例如: ```c const int* p; // p是指针,指针本身不能被修改,但可以修改指针指向的对象 int* const p; // p是指针,指针本身可以...
C语言中的const指针变量是一种特殊的指针,它用于确保指针所指向的值不会被修改。但是,const指针变量的概念经常被混淆,理解其工作原理对于学习C语言非常重要。 首先,我们可以根据const关键字的位置区分两种常...
指针常量是指指针本身的地址是不可改变的,即指针一旦指向某个对象就不能再指向其他对象。例如: ```c char *const chrPtr = "Hello"; // 指针本身不可变,但可以修改所指向的数据 ``` 这里 `chrPtr` 是一个指向字符...
<类型> const * <指针变量> 或 const <类型> * <指针变量> 2、常量指针: <类型> * const <指针变量> 3、指向常量的常量指针: <类型> const * const <指针变量> 或 const <类型> * const <指针变量>
### const指针的使用 #### 一、const指针概述 在C++中,`const`关键字被广泛用于控制变量的可修改性以及提高代码的安全性和效率。当与指针结合时,`const`可以有不同的含义,具体取决于它在声明中的位置。下面将...
在C++编程语言中,指针是至关重要的概念,尤其是在处理对象和成员时。本章主要讨论了与指针相关的几个关键知识点...这些知识点构成了C++中关于指针、对象和函数调用的基础,对于理解和编写面向对象的C++程序至关重要。
const指针是一种指针,它的值不能被改变。例如:int * const p=&n;,这里declare p as a const pointer to an int,p的值不能被改变,但*p的值可以被改变。 十、总结 本文总结了复杂的C/C++声明,包括const、...
将指向对象的指针变量声明为const型,并使之初始化,这样指针值始终保持为其初始值,不能改变。 代码如下:Time t1(10,12,15),t2;Time * const ptr1=&t1;ptr1=&t2;定义指向对象的常指针的一般形式为 类名 * const ...
在这个表达式中,`type`是你要创建的const对象的类型,`value`是初始化对象的值,`pointer`是一个指向const对象的指针。例如,创建一个不可变整数并赋值为128的代码如下: ```cpp const int *p = new const int(128)...
在C++编程语言中,有一些核心概念涉及到对象的指针、`this`指针、const关键字、动态内存管理和函数参数。这些知识点对于理解和编写高效、安全的C++代码至关重要。 1. **对象的指针**:对象的指针是指向某个特定类...
3. **指向const的const指针**:这种指针不仅其指向的内容是常量,而且指针自身也是常量。例如: ```cpp const int *const cp = &i; ``` 这里`cp`是一个指向`int`类型的`const`对象的`const`指针,既不能修改所...
这里,a 是一个指向整型常量的指针,指向的对象不能被修改,但指针 a 可以指向另一个常量。例如: ```cpp const int *a = &b; a = &c; // ok! *a = 2; // error! ``` const 指针的 const const 指针的 const 是指...
// ptr是一个const指针,即指针本身的值(所指向的地址)不可改变,但可以通过ptr修改它所指向的int值。 ``` 而当我们用typedef定义一个新的类型名称时,const关键字的位置就显得尤为重要。如文章中所述的例子: ...