指针可以操作两个实体,指针值(地址)和间访值(实体)。
指针常量:指针值不能修改的指针。
常量指针:指向常量的指针。
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标准进一步扩展和完善了这些特性,并引入了一些新的...
New smart pointers Regular expressions New STL containers, such as arrays, forward lists, and unordered containers New STL algorithms Tuples Type traits and type utilities The book also examines the ...