博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++程序设计教程--读书笔记 第七章 程序结构
阅读量:5246 次
发布时间:2019-06-14

本文共 1519 字,大约阅读时间需要 5 分钟。

第七章
 
一、知识点
1、因为头文件总是伴随着提供真正的资源,如函数定义等。因而,它不仅仅包括函数声明,它基本上还包括:(P241)

2、全局数据在程序存储结构中置身于全局数据区的位置,
全局数据区的整个区域在程序启动时,初始化为0。(P244)
 
3、在程序中,有的函数是为文件中的其他函数服务的,并不对外提供服务,这些函数声明为静态,表示局部于文件。同样有的变量只为本文件服务,也不是全局数据应标以static。这些函数和变量称为
静态全局函数和静态全局变量。(P251)
 
4、静态局部变量驻留在全局数据区,默认初始化的值为0,而且不会受函数的调用和返回的影响。函数第一次被调用时,静态局部变量被建立,以后该变量一直存在,直到程序运行结束。(P251)
 
5、函数作用域是说,不管名称在函数的什么地方声明,总是可以在函数的任何位置先使用该名称。只有标号是函数作用域的,设置标号即对标号名称进行声明。比如“goto 标号;”。函数作用域在C++中基本不用。(P253)
 
6、函数声明作用域或者称函数原型作用域规则,是表示
函数声明时的形参与上下文无关。(P253)
 
7、称静态局部数据的生命期为静态生命期,非静态局部数据的生命期为局部生命期。另一种动态生命期,这种生命期是由new申请到内存空间之后,该空间实体开始有效,直到人为地用delete语句释放该内存空间结束。在动态生命期中,其有效的堆空间实体可能被跨函数地访问,因此,其作用域是整个程序范围的。(P255)
 
8、名空间机制规定,一个名称必须在使用的域中明确声称其使用的“空间名”,才能在域中默认地使用该名称。(P256)
 
9、程序设计语言的描述可以对应整个世界。世界上有许多重名,它们再不同的场合表达着不同的意思,在不同的层次上亦表达着不同的意思。C++中解决名称冲突的名空间机制就是基于这种自然的理解。(P257)
 
10、名空间的定义通过下列形式:
namespace name{
     //名称声明或定义
}
因为名空间总是凌驾于其他程序文件智商,
它是其他程序文件中的
所有外部名称使用的规范描述,所以总是将名空间的定义放在头文件中。(P257)
 
11、标准库中的某个名称用得很频繁,但是又可能会碰到标准库的名称与自己定义的名字相冲突,用不用using namespace都很为难,此时,可以局部默认名空间的名称使用。比如:
#include <iostream>
using std::cout;
using std::endl;
 
int abs(int a){return a > 0 ? a : -a}
 
int main(){
     int a = abs(-5);
     cout << a << endl;
}
如果没有前缀名,只有“::”加在名称前,则表示不属于任何名空间的全局名称。(P264)
 
12、条件编译的作用就是直接取舍程序语句和协调多个头文件。例如:(P265)
#ifdef _USE_OLD_RW_STL
#include <oldstl\fstream.h>
#else
#include <stlport\fstream>
#endif
 
13、条件编译指令的一种最常见的用法是头文件卫士。头文件卫士的目的是要保护嵌套的包含指令中的内部链接属性的名称不被重复定义。例如:(P266)
#ifndef DATE
#define DATE
struct Date{
     int year, month, day;
};
#endif

转载于:https://www.cnblogs.com/lydf-2012/archive/2012/05/01/2477659.html

你可能感兴趣的文章
Docx转Doc操作(c#)
查看>>
一条简单的 SQL 执行超过 1000ms,纳尼?
查看>>
如何设置映射网络驱动器的具体步骤和方法
查看>>
ASP.NET WebApi 基于OAuth2.0实现Token签名认证
查看>>
283. Move Zeroes把零放在最后面
查看>>
Visual Studio Code 打开.py代码报Linter pylint is not installed解决办法
查看>>
Python 数据类型
查看>>
Google Guava学习笔记——简介
查看>>
历时八年,HTML5 标准终于完工了
查看>>
17.树的子结构
查看>>
D - Mike and strings
查看>>
C++:多维数组的动态分配(new)和释放(delete)
查看>>
c#基础学习(0806)之抽象类实现多态
查看>>
S5PV210根文件系统的制作(一)
查看>>
51NOD 1244 莫比乌斯函数之和
查看>>
[bzoj1923]外星千足虫[高斯消元]
查看>>
centos下同时启动多个tomcat
查看>>
slab分配器
查看>>
分析 PHP大马-php_mof SHELL
查看>>
TCP/IP
查看>>