`

【c++ primer】第九章 内存模型和名称空间

 
阅读更多

一,单独编译

1)请不要将函数定义或变量声明放到头文件中。

原因:一个头文件中包含一个函数定义,然后其他两个文件(同属于一个程序)包含该头文件,则同一个程序中将包含同一个函数定义。除非函数是内联的(inline),否则将出错。

2)将结构放在头文件中是可以的。因为它们不创建变量。

3)头文件写法: “main.h” 头文件包含在双引号中则编译器首先查找当前的工作目录。

<main.h>包含在尖括号中则在存储标准头文件爱你的主机系统的文件系统中查找

4)源码文件:**.c 不需要#include **.c 因为这样将导致重复声明

5)预处理器编译指令 #ifndef node

#define node 23

#endif

二,存储持续性、作用域和链接性

1)自动存储持续性(函数定义中声明的变量)

静态存储持续性(函数定义外定义的变量和static定义的变量)

动态存储持续性(new操作符分配的变量一直存在,直到delete释放内存)

2)函数的作用域只能是整个类,或整个名称空间。不能是局部的,因为不能在函数中定义函数

3)寄存器变量(频繁使用的变量) register int i; //没有内存地址,不能将地址操作符用于寄存器变量

4)作用域解析操作符 "::"

5)extern 使用实例

file1.c:int count=1;

file2.c:

6)注意:extern 声明的变量不能初始化

7)使用new 运算符 初始化变量的语句一定要 位于函数中,因为只能使用常量表达式来初始化静态存储变量

三,布局new操作符

让程序员指定要使用的位置,程序员可以使用这种特性来设置其内存管理规程或处理需要通过特定地址进行访问的硬件。

注意:要使用布局new操作符,必须添加 #include <new>

例子:四,名称空间

1)名称空间可以是全局的,也可以位于另一个名称空间中

2)using声明 usding std::cout //将名称添加到局部声明区域

using编译指令 using namespace std;//使名空间中,所有名称可用

3) 例子:局部的fech 将隐藏 名空间中的fech




分享到:
评论

相关推荐

    C++Primer Plus学习笔记(五)

    C++ Primer Plus 第9章内存模型和名称空间 new操作符以及名称空间的使用demo

    C++ primer plus课后编程练习题答案

    第九章讲解了内存模型和名称空间的概念,讲解了如何使用名称空间来组织和管理程序的名称,提供了相关的编程练习题和答案,帮助读者了解如何使用名称空间来避免名称冲突。第十章引入了类和对象的概念,讲解了类的定义...

    C++ Primer中英双版

    《C++ Primer中英双版》是C++编程领域中一本极为重要的教程,它由Lippman、Lajoie和 Moo三位资深C++专家撰写,是C++初学者和进阶者的必备参考书籍。该书的第五版在原有的基础上进行了全面的更新,以适应现代C++的...

    C++ primer puls 习题练习

    2. **Chapter.9 Memory Model and Namespace**:内存模型讲解了C++程序如何存储和管理数据,包括栈、堆和静态存储区的区别。命名空间(namespace)是避免名字冲突的有效手段,有助于保持代码的清晰和组织性。 3. **...

    第1章 初识C++语言(C++版)_第一节 C++语言简介-2021-04-27(C).pdf

    《C++ Primer》是经典的C++学习书籍之一,而STL(标准模板库)是C++的一个重要组成部分,它提供了一套泛型算法和数据结构,使得开发者能够高效地使用这些预先编译好的组件,避免重复发明轮子。 C++程序结构通常从...

    学习C++从入门到精通的的十本最经典书籍

    - **原书名称**:C++ Primer, Fourth Edition - **作者**:Stanley B. Lippman, Jose LaJoie, Barbara E. Moo - **出版社**:Addison Wesley/Pearson - **简介**:这本书由C++之父Stanley B. Lippman及其团队编写,...

    c++进步待看书籍

    - **推荐理由**: 本书深入探讨了C++对象模型,帮助读者理解编译器如何解析源代码以及内存管理等关键概念。对于希望深入了解C++底层机制的开发者来说,这本书是不可多得的资源。 #### 第四篇:理论研究与标准规范 *...

    C,C++经典书籍大全目录

    - **内容简介**:作为C++领域的经典著作之一,《Effective C++》第二版提供了55条实用的规则和建议,帮助程序员写出高效、可靠的C++代码。每一条规则都包含具体的例子和详细的解释,非常适合作为提高编程技能的参考...

    C++高级教程[收集].pdf

    * C++的学习一般分为三个阶段:C++语言的学习、运行库和STL的学习、在Windows或Unix环境的程序设计中学习运用各种类库。 * 时间上的分配:第一阶段一个月到两个月,第二阶段三个月,第三阶段六个月。 五、学习资源 ...

    c++推荐书籍

    - 内容简介:本书详细分析了C++的对象模型,对于理解C++的内存管理和对象生命周期至关重要。 14. **《设计模式:可复用面向对象软件的基础》** - 作者:Erich Gamma等 - 内容简介:这本书不仅介绍了设计模式的...

    Qt学习,感兴趣的小伙伴可以下载阅读

    3. **C++Primer第三版中文版[潘爱民译].pdf**:C++ Primer是学习C++的经典书籍,对于理解Qt的基础语法和面向对象编程思想非常有帮助。即使不是专门针对Qt,但它能为学习Qt提供坚实的语言基础。 4. **QT中文手册.pdf...

    Linux多线程服务端编程:使用muduo C++网络库

    《Linux多线程服务端编程:使用muduo C++网络库》主要讲述采用现代C++在x86-64 Linux上编写多线程TCP网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop per thread。...

    计算机自学教材书目(自学者或初学者必看)

    9. **C++编程思想(第2版)第1卷:标准C++导引** - 作者:Bruce Eckel - 本书详细介绍了C++的标准特性和编程思想,是C++学习者的宝贵资源。 10. **C++编程思想(第2版)第2卷:实用编程技术** - 作者:Bruce ...

    IT学生必背电子书10本经典教材

    5. **C++Primer+中文第四版(非扫描)**:与前一本相似,但更注重实际编程技巧,适合进阶学习,内容包括C++11新特性、STL容器、迭代器和算法等。 6. **Effective_Java_2nd_en(最新版)**:虽然书名是英文,但这本由...

    成为高级程序员的必备书籍

    #### 第一部分:C++/OPP/OOD系列(面向对象编程与设计) ##### 层级一:语法/语意(C++) - **《Essential C++》** 作者:Stanley B. Lippman 出版社:Addison Wesley Longman (2000) 页数:276页 这本书...

    vc++ 开发实例源码包

    C++_Primer_第4版_中文+英文 原书源码+课后习题答案。 CameraController(云界面) 实现了自绘控件,云端控制主要在CnComm类多线程串口通讯库, camerads-DirectShow使用示例 演示了摄像头的使用 CatListBoxDemo ...

    GIS专业研究生书籍.docx

    19. **C#入门经典(第6版)**和**C++ Primer Plus(第6版)中文版**:这两本书可能是为初学者准备的,介绍了编程基础知识,对GIS软件开发有帮助。 20. **大数据.互联网大规模数据挖掘与分布式处理**:大数据处理...

    一个程序员五年学习观.doc

    * 《C++ primer》是系统入门C++语言的不错选择。 设计 * 《代码大全》是非常适合工作 2~3 年的人精读的一本书,讲的是函数以及更低层次的设计。 * 《重构-改善既有代码的设计》、《代码整洁之道》、《实现模式》...

Global site tag (gtag.js) - Google Analytics