c++ primer plus 内存模型和名称空间
头文件
常包含的内容
1.函数原型
2.#define或const定义的常量
3.结构声明
4.类声明
5.模板声明
6.内联函数
包含头文件时, #include使用<> 还是 “”的区别
<>: 文件系统中查找,一般是标准的头文件
“”: 在当前工作目录或源代码目录,一般是自己写的头文件。
延伸到预处理器 #ifndef 和#endif的操作
#ifndef AAAAA
#define AAAAA
#endif
从存储持续性、作用域、链接性来描述分析。
1.函数参数、变量:存储持续性是自动、作用域为局部,没有链接性。存放在栈上,栈是先进后出。可使用空间小,效率快。
2.静态持续变量:有外部链接性(可在其他文件访问,在代码外声明,不用加static,延伸到全局变量)、内部连接性(只能在当前文件访问,在代码外声明,要加static)、无链接性(只能在当前函数访问,在代码内声明,加static)。生命周期都是在整个程序执行期间存在。有固定的位置静态变量区存储静态变量。静态变量默认初始化为0.
外部链接性:即是全局变量:存储持续性为静态,作用域为整个文件。
在每个使用全局变量的文件中,声明它。可以多次声明,引用声明不分配存储空间。如extern int a ;
全局变量只能定义一次。定义意味着给变量分配存储空间 .int a = 1;
内部链接性:即是static变量,作用域为整个文件。
无链接性:在函数代码中使用static,作用域是当前代码段,声明周期也是整个程序,程序只在启动时进行一次静态局部变量初始化,以后再调用时,不会再初始化。
名称空间
1.namespace 声明
如 namespace jack
{
int a ;
void func();
struct BB{};
}
2.使用 using namespace jack;
一般在读写流文件用到
#include<iostream>
using namespace std;
c++ primer plus 内存模型和名称空间相关推荐
- 《C++ Primer Plus》读书笔记之七—内存模型和名称空间
第九章 内存模型和名称空间 1.不要将函数定义或者变量声明放到头文件中. 2.头文件常包含的内容:函数原型.使用#define或者const定义的常量.结构声明.类声明.模板声明.内联函数. 3.避免 ...
- C++ Primer Plus学习(九)——内存模型和名称空间
内存模型和名称空间 单独编译 存储持续性.作用域和链接性 名称空间 单独编译 程序一般可以分为三部分: 头文件:包含结构声明和使用这些结构的函数的原型: 源代码文件:包含与结构有关的函数的代码: 源代 ...
- 2020 我的C++的学习之路 第九章 内存模型与名称空间
以C++ Primer Plus为参考书籍,自身归纳知识点,加深记忆. 内存模型与名称空间 存储持续性 作用域与链接 自动存储持续性 静态持续变量 静态持续性.外部链接性 静态持续性.内部链接性 静态 ...
- 【C++ Primer Plus】第9章 内存模型和名称空间
9.1 多文件程序 一个文件(头文件)包含了用户定义类型的定义:另一个文件包含操纵用户定义类型的函数的代码.这两个文件组成了一个软件包,可用于各种程序中. 头文件中常包含的内容: 函数原型. 使用#d ...
- static在内存层面的作用_「C++ Primer plus 心得」9.内存模型和名称空间
本章内容包括: 单独编译 存储持续性.作用域和链接性 定位new运算符 名称空间 C++ 为在内存中存储数据方面提供了多种选择.可以厅数据保留在内存中的时间长度(存储持续性)以及程序的哪一部分可以访问 ...
- C++ Primer Plus 第九章答案 内存模型和名称空间
9.5复习题 //1 homer将自动成为自动变量 在一个文件中将secret定义为外部变量,并在第二个文件中使用extern声明它 在外部定义前加上关键字static,将topsecret定义为一个 ...
- C++(学习笔记)内存模型和名称空间
文章目录 前言 一.单独编译 二.存储持续性.作用域.链接性 1.作用域和链接 2.静态持续变量 3.静态持续性.外部链接性 4.静态持续性.内部链接性 5.静态持续性.无链接性 6.const全局变 ...
- 第9章 内存模型和名称空间
待定 本章内容: 单独编译 存储持续性.作用域和链接性 定位(placement)new运算符 名称空间 9.1 单独编译 9.2 存储持续性.作用域和链接性 9.2.4 静态持续性. ...
- 【C++】C++PrimerPlus(第6版)中文版 第9章 内存模型和名称空间 编程练习 参考答案
自己编写的参考答案,在VS2019中都可以编译通过,不是标准答案,也不是最优答案,仅供参考 1.下面是一个头文件 //golf.h – for pr9-1.cpp const int Len = 40 ...
- C++11 Primer Plus(三)之名称空间与类
自己写的C++11 Primer Plus 学习笔记,如有雷同不胜荣幸,如有错误敬请指正 1. 内存模型与名称空间 1. 单独编译(程序划分) 友好的程序代码结构: 头文件:包含结构声明和使用这些结构 ...
最新文章
- [翻译] ASP.NET Core 2.2 正式版发布
- Vue3 插槽使用详解
- 【采集读写】基于matlab语音采集与读写【含Matlab源码 538期】
- Python设计模式:建造者模式
- LaTex软件安装方式
- 计算机无法读光盘,win10系统无法读取光盘如何解决 win10系统读取光盘失败的解决方法...
- sketch如何做设计稿交互_sketch 交互原型制作方法
- 软件测试1 软件测试分类
- js 数据类型思维导图
- 单片机无线通信学习笔记
- BI报表工具FineReport的使用2【帆软聚合报表设计,最常用功能】
- 学习Java第一天笔记
- Java期末考试题(附答案)
- c调用python第三方库_c/c++调用python程序且含tensorflow第三方库
- send sendto ,recv recvfrom有什么区别
- 系统找不到zlib.dll文件的解决方法。zlib编译和使用
- htc 8x android,htc8x怎么样 htc8x测评【图解】
- 在centos7中基于nginx-rtmp模块的mp4播放
- 华尔街人必读40本金融佳作
- 计算机一级wps office选择题技巧,计算机一级WPSoffice考前练习题和答案