C++ int const 和 const int 的区别

简介: C++ int const 和 const int 的区别
  1. 如果对象不是针对,它们没有区别
1. int const x = 3;
2. const int x = 3;

1.如果对象是指针,它们有区别

int* const p = &array: //指针p不能够指向其他地址
const int* p = &arr   //指针p只读&array,不能够对其进行修改
#include <iostream>
using namespace std;
int main()
{
    int arr[3] = {1, 2, 3};
    int varr[3] = {100, 200, 300};
    const int *p1 = arr; //常量指针,指针值不能修改,记忆方法,const旁边是一个int是一个值
    int *const p2 = arr; //指针常量,指针指向地址不能修改   const旁边是一个*是一个地址
    cout << *p1 << endl;
    cout << *p2 << endl;
    // *p1 = 22; // error
    // *p2 = 22;
    // cout << *p2 << endl;
    // cout << arr[0] << endl;
    p1 = varr;
    cout << *p1 << endl;
    p2 = varr; //error
    return 0;
}
相关文章
|
22天前
|
存储 安全 C++
C++中的引用和指针:区别与应用
引用和指针在C++中都有其独特的优势和应用场景。引用更适合简洁、安全的代码,而指针提供了更大的灵活性和动态内存管理的能力。在实际编程中,根据需求选择适当的类型,能够编写出高效、可维护的代码。理解并正确使用这两种类型,是掌握C++编程的关键一步。
22 1
|
2月前
|
C++
C++中的const指针与const引用
C++中的const指针与const引用
39 2
|
2天前
|
算法 Java C++
C++和Python在内存管理上的主要区别是什么?
【7月更文挑战第2天】C++和Python在内存管理上的主要区别是什么?
6 1
|
2天前
|
算法 Java C++
C++和Python在内存分配策略上的主要区别是什么?
【7月更文挑战第2天】C++和Python在内存分配策略上的主要区别是什么?
4 0
|
2天前
|
机器学习/深度学习 Java 程序员
Python和C++的区别?
【7月更文挑战第2天】Python和C++的区别?
5 0
|
6天前
|
编译器 C++
【C++】类和对象④(类的默认成员函数:取地址及const取地址重载 )
本文探讨了C++中类的成员函数,特别是取地址及const取地址操作符重载,通常无需重载,但展示了如何自定义以适应特定需求。接着讨论了构造函数的重要性,尤其是使用初始化列表来高效地初始化类的成员,包括对象成员、引用和const成员。初始化列表确保在对象创建时正确赋值,并遵循特定的执行顺序。
|
28天前
|
编译器 C语言 C++
C++中.h和.hpp文件有什么区别?
C++中.h和.hpp文件有什么区别?
|
10天前
|
编译器 C++
【C++】:const成员,取地址及const取地址操作符重载
【C++】:const成员,取地址及const取地址操作符重载
5 0
|
2月前
|
编译器 C++
C++中的内联函数与const限定词的使用
C++中的内联函数与const限定词的使用
18 1
|
2月前
|
缓存 安全 Java
Java的Integer和int有什么区别?
Java的Integer和int有什么区别?
19 1