指针可以操作两个实体,指针值(地址)和间访值(实体)。
指针常量:指针值不能修改的指针。
常量指针:指向常量的指针。
const int a = 78;
int b = 10;
int c = 18;
const int* ip = &a; //const修饰指向的实体类型---常量指针
int* const cp = &b; //const修饰指针*cp----指针常量
int const* dp = &b; //等价上句---指针常量
const int* const icp = &c //常量指针常量
*ip = 87; //错,常量指针不能修改指向的常量,*ip只能做右值
ip = &c; //对,常量指针可以修改指针值
*cp = 81; //对,指针常量可以修改指向的实体
cp = &b; //错,指针常量不能修改指针值,即使使用同一地址
*icp = 33; //错,常量指针常量不能修改指向的常量
icp = &b; //错,常量指针常量不能修改指针值
int d = *icp; //对
const只能限定指针的操作,不能限定空间上实体的可改变性。比如上述代码中b,c,d实体可以改变,但不影响指针。
分享到:
相关推荐
本书《Understanding and Using C++ Pointers》由 Richard Reese 编写,旨在帮助读者全面了解 C++ 指针的概念及其在实际编程中的应用。通过本书的学习,读者将能够掌握指针的基础知识,理解如何声明和使用指针,以及如何...
Introduction to C++ Programming Understanding Pointers 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自...
7. 轻量级智能指针(smart pointers):如`std::unique_ptr` 和 `std::shared_ptr`,它们是C++11引入的,用于管理对象的生命周期,防止内存泄漏,是现代C++编程中资源管理的重要工具。 8. 设计原则:C++设计新思维...
4. **类型安全的指针(Smart Pointers)**:C++11引入了`std::unique_ptr`, `std::shared_ptr`和`std::weak_ptr`等智能指针,以替代原始指针,自动管理内存,防止内存泄漏。 5. **并发编程支持(Concurrency ...
Simple Pointers const Pointers Pointers and Printing Pointers and Arrays The reinterpret_cast Pointers and Structures Command-Line Arguments Programming Exercises Answers to Chapter Questions Part IV...
7. 指针和引用(Pointers and References):在C++/CLI中,指针和引用的使用与传统C++有所不同。例如,托管代码中使用指针时需要考虑垃圾回收的影响,而引用则是一个保留字,用于访问托管对象。 8. 包含规则(Rules...
### 关于C++对象持久化中的隐藏指针问题 #### 概述 本文探讨了C++(文中误写为C11,实际应为C++)中对象持久化时遇到的一个核心问题:隐藏指针的存在及其对持久化的挑战。文章首先介绍了隐藏指针的基本概念,然后...
本教程的"Basic Tutorial on Pointers.chm"文件应该包含了更详细的内容,涵盖了指针的更多高级主题,如指针数组、指针作为函数返回值、指针与引用等。学习并熟练掌握这些知识将极大地提升你的C++编程能力。在实际...
language while addressing pointers only to the extent necessary for the topic at hand. Rarely do they venture beyond a basic treatment of pointers and most give only cursory coverage of the important ...
全面地描述了C++专家所使用的高级技术,包括placement new、virtual constructors、smart pointers、reference counting、proxy classes和double-dispatching等。 以实例说明异常处理带给C++类和函数的冲击。 ...
在C++编程语言中,数组、指针和字符串是核心概念,它们在程序设计中扮演着至关重要的角色。本章“Chapter 4- Arrays Pointers and String”将深入探讨这些主题,尤其对于电影制作(filmhfx)领域的编程工作更是至关...
C++提供了多种工具来帮助开发者管理内存,如智能指针(Smart Pointers)。这一期可能会详细介绍std::shared_ptr、std::unique_ptr等智能指针类型的工作原理及其应用场景,从而帮助开发者避免常见的内存泄漏问题。 #...
6. **智能指针(Smart Pointers)**:C++11标准库提供了三种智能指针:`std::unique_ptr`、`std::shared_ptr`和`std::weak_ptr`,它们自动管理内存,避免了传统的指针可能导致的内存泄漏问题。 7. **多线程支持(std::...
5. **原子智能指针(Atomic smart pointers)**:C++20为`std::unique_ptr`和`std::shared_ptr`添加了原子操作,使得在多线程环境中无锁管理智能指针成为可能,提升了并发安全。 6. **强类型枚举(Strongly-typed ...
Thinking in C: Foundations for Java & C++ by Chuck Allison produced by Bruce Eckel Chapter 1: Introduction and Getting Started40 MinutesStart Lecture Chapter 2: Fundamental Data Types41 ...
10. **智能指针(Smart Pointers)**:如`std::unique_ptr`、`std::shared_ptr`和`std::weak_ptr`,提供了自动内存管理的解决方案,防止内存泄漏。 C++14和C++17标准进一步扩展和完善了这些特性,并引入了一些新的...
此外,为了成为一名熟练的C++开发者,还需要掌握内存管理,包括指针操作、动态内存分配和释放,以及智能指针(Smart Pointers)的使用,它们可以防止内存泄漏并简化资源管理。同时,了解并实践良好的编程实践,如...