C++ 学习笔记
来源:互联网 发布:音域测试软件 编辑:程序博客网 时间:2024/06/16 05:09
C++学习笔记
1.Namespaces 命名空间
把逻辑上相关联的东西放在一起,用namespaces 给他起一个名字 ??? 名字后面没有分号,名字(函数、数据等)叫这个名字空间的成员实现namespace 是实现接口与实现分离的关键。我们用标准的c++ 的 std; 这是using 指令使用命名空间,实现模块化程序设计,实现接口与实现的分离。 (我只需要关注接口,而不需要关注实现)C++ 允许为一个namespace 声明多个同名的namespace 接口 ,但是实际操作中,我们并不会这样去实现,而是用一个不同的名字,但是内部的实现相同 这就是namespace 面对不同的用户,不同的使用者的一般做法.namespace parser { double expr (bool) ; // 非定义声明 double prim (bool get) {/* */}}namespace parser { double prim (bool);}double parser :: prim (bool get) { // 具体实现}:: 表示约束符
- 声明 定义性声明,非定义性声明 、
2.编译过程
- compile 源文件 —— 目标文件
- build 目标文件 —— 可执行文件
run 执行 exe
接口 (外界可以看到的成语只要能看到就可以)
所有命名空间中的非定义声明,接口应该与实现相分离 (也可以不分离,但是一般会分离)
使用约束符 :: 来确定约束的函数的命名空间,约束符有自己的作用域和函数的作用域一样。
4.using 声明
在成员的实现内,对特定的namespace 的特定成员使用 using 声明,约束范围在该 namespace 的所有实现之内. 注意using 的作用域就好了
出现在两种位置
- namespace 接口中
- 函数定义中
`using function :: prim(bool);
5.using 指令
using namespace error; 使用完 using 指令之后,在其作用域内,都是使用这个名字空间中的成员
出现的位置 :
- 函数的定义中
- namespace 接口中 (所有使用该 namespace 中命名都在使用的命名空间中找)
6.总结
- namespace 引入了成员和接口的概念
- 接口和非定义性声明的异同
阅读全文
0 0
- C++/C学习笔记
- 【C/C++】STL学习笔记
- C/C学习笔记/导言
- C/C学习笔记/结构
- 【c/c++】学习笔记1
- C学习笔记1
- TPC-C学习笔记
- c语言学习笔记
- C语言学习笔记
- C语言学习笔记
- 学习笔记之c
- C#-学习笔记
- Objective-C学习笔记
- C++PRIMER学习笔记
- C学习笔记
- C 学习笔记
- C/C++学习笔记
- 1.C学习笔记
- spring cloud
- 2>&1
- QWidget::setLayout: Attempting to set QLayout "" on MainWindow "", which already has a layout
- 今天,我的朋友圈被“马云”和“达摩院”霸占了 | 演讲实录
- Android开发之自定义地图
- C++ 学习笔记
- 一个故事讲清https
- java操作excel
- 背包问题整理
- Eclipse开发过程中个VM Arguments的设置
- 【CNN削减阅读笔记】【简化网络设计】【低秩分解】
- 自定义View(四) 自定义ItemToggleView
- SqlServer查询字段来自哪个表
- jvm系列(六):jvm调优-从eclipse开始