const出现在星号左边,表示被指物是常量; const出现在星号右边,表示指针本身是常量。
char name[] = "rongxinhua";
char name2[] = "tommer";
char *p1 = name; //非常量指针
const char *p2 = name; //指向常量的指针(不可改变指针所指的对象)
//char const *p2 = name; //同上
char *const p3 = name; //常量指针(不能重新指向其他对象)
const char *const p4 = name; //指向常量的常量指针
p1[0] = 'R'; //ok
p2[0] = 'R'; //error: assignment of read-only location ‘* p2’
p2 = name2; //ok
p3 = name2; //error: assignment of read-only variable ‘p3’
p3[2] = 'N'; //ok
迭代器的作用就像T*指针,声明迭代器为const对象就像声明指针为const一样(即声明一个T* const指针);(see code)
std::vector<int> vec;
const std::vector<int>::iterator iter = vec.begin();
*iter = 10; //ok
++iter; //error
而如果希望迭代器所指的东西不可被改变,则用const_iterator。(see code)
std::vector<int> vec;
std::vector<int>::const_iterator iter = vec.begin();
*iter = 10; //error
++iter; //ok
分享到:
相关推荐
从给出的部分内容来看,读书笔记主要聚焦于以下几个知识点: 1. C++语言的联邦概念:C++是一个由多个次语言构成的语言联邦,这包括了C语言核心、面向对象的C++、模板C++以及标准模板库(STL)。这种理解对于深入...
Effective C++读书笔记 本文总结了Effective C++读书笔记,涵盖了C++的四个主要次语言:C、Object-Oriented C++、Template C++和STL。同时,文章还讨论了高效编程守则,包括使用const、enum和inline替换#define,...
Effective C++笔记1 本笔记总结了Effective C++的第1到第11条款,涵盖了C++语言的多个方面,包括构造函数、拷贝构造函数、拷贝赋值函数、const关键字、enum、inline函数、定义域、static变量、初始化、编译器生成的...
《Effective C++》是C++编程领域的一本经典著作,由Scott Meyers撰写,书中包含了一系列的编程实践建议,旨在帮助开发者写出更高效、更安全、更易于维护的C++代码。以下是一些核心条款的详细解读: 1. **视C++为一...
Effective C++笔记1 本笔记概括了 Effective C++ 中的四十个规则的第一个部分,涵盖了 C++ 语言的基本概念、const 的使用、inline 函数的应用、对象的初始化等方面。 规则 1:将 C++ 视为语言联合体 -------------...
通常C++要求你对所使用的任何东西提供一个定义式,但如果它是个class专属常量 又是static且为整数类型(integral type,例如int,char,bool),则可特殊处理。只要不取它们 的地址,你可以声明并使用它们而无需提供...
### Effective_C++_3rd笔记的关键知识点概览 #### 视C++为一个语言联邦(条款01) C++作为一门复杂且功能丰富的语言,它实际上涵盖了多种编程范型,包括过程式、面向对象、函数式、泛型以及元编程。这种多样性的...
《Effective C++》是Scott Meyers撰写的一本经典C++编程指南,旨在帮助开发者写出更高效、更可维护的代码。...阅读Roy T的读书笔记可以帮助我们回顾和巩固这些关键概念,更好地将它们应用于实际项目中。
通过这些学习笔记,我们可以了解到《Effective C++》不仅为我们提供了C++编程中的一些基本和高级技巧,也教会我们如何遵循最佳实践,编写出更加高效、健壮的C++代码。学习这些知识点,对于提高C++编程能力和解决实际...
通过阅读这份详尽的《Effective C++3 学习笔记》,读者不仅可以深入了解C++语言的高级特性,还能掌握编写高效、安全的C++代码的最佳实践。对于任何渴望提升C++编程技能的开发者来说,这是一份不可或缺的参考资料。
《Effective C++中文版》是一本关于C++编程的高级技术书籍,由Scott Meyers所著。书中提供了深入浅出的讲解和实践技巧,帮助读者掌握C++编程中的高级和关键概念。通过对代码片段的分析,可以提炼出C++语言编程中的多...
通过阅读《More Effective C++》及其学习笔记,开发者可以更深入地理解C++的高级特性,并学会如何在实际项目中应用这些知识,编写出更高效、更易于维护的代码。同时,结合《Effective C++》一起学习,将形成一个全面...
【C++ Primer 笔记1】 C++ 是一种强大的编程语言,它有着丰富的特性和严格的类型系统。...持续实践和阅读高质量的C++书籍,如《C++ Primer》、《Effective C++》和《STL源码剖析》,能帮助你更全面地掌握这门语言。
《Effective C++(中文版)》是一本由Scott Meyers撰写的经典著作,该书针对C++编程语言提供了深入的指导。全书共分为55个条目,每个条目都详细介绍了如何编写高质量、高效的C++代码的具体方法。下面我们将根据书中...
《Effective C++》系列书籍是Scott Meyers的经典之作,它为C++程序员提供了一系列实践性的编程指导,旨在帮助他们写出更高效、更可靠、更易于理解的代码。在这个笔记中,我们将深入探讨其中的一些关键知识点。 一、...
通过阅读《深度探索C++对象模型》的学习笔记,我们可以更深入地理解C++的底层机制,这对于成为一名精通C++的开发者来说是必不可少的。同时,结合《Effective C++》的学习,可以让我们写出更加高效、健壮的C++代码。...
内容概要:这篇《C++读书笔记》分享专栏涵盖了多项重要作品的精要总结,包括《Effective C++》,《More Effective C++》,《Effective STL》及《STL源码剖析》。文章强调编程时优先采用const, enum 和 inline 来代替...
effective C++ 读书笔记是 Scott Meyers 所著的一本经典C++程序设计书籍,本笔记总结了书中的要点,旨在帮助C++程序员编写高效、可靠的代码。本笔记将C++语言的特点和陷阱总结为90多条经验法则,涵盖了C++语言的...
在“Effective C++上部资源.rar.rar”这个压缩包中,很可能包含了这本书的部分章节、笔记、代码示例或其他辅助学习材料。 首先,我们来讨论一下《Effective C++》中的几个关键知识点: 1. **对象的构造与销毁**:...