【翁恺】04-头文件

definition of a class

  • in c++,separated .h and .cpp files are used to define one class

  • class declaration and prototypes in that class are in the header file(.h)

  • all the bodies of those functions are in the source file(.cpp)

(.h)--declaration---声明

(.cpp)--definition--定义

c++中严格区分声明和定义

the header files

  • if a function is declared in a header file,you must include the header file everywhere the function is used and where the function is defined
  • if a class is declared in a header file,you must include the header file everywhere the class is used and where class member functions are defined

header = interface(接口)

  • the header is a contract between you and the user of your code
  • the compile(编辑译器) enforces the contract by requiring you to declare all structures and functions before they are used

structure of c++ program

1541468968452

#include 编译预处理指令, 把头文件里面内容插入过来。

g++ a.cpp b.cpp --save-temps  // 保存中间文件

.ii  编译预处理指令结束后结果  .s  汇编代码  .o 目标代码  .out  可执行程序

.h 不能放变量的定义       使用extern 声明一个变量

C++ 编译器会把所有名字前会加入下划线。比如  _global。

编译完成得到 .o 文件。

.cpp (编译预处理).ii     (编译器) .s  (汇编器) .o   ld 链接器 .out

编译时候是针对单个 cpp 的,所以编译没问题,ld 出现了问题。

需要在某个地方对声明的变量进行定义。否则,ld 就会找不到该变量。

g++ a.cpp b.cpp --save-temps  -Wall // Wall 输出所有警告, 要消灭所有警告。

declarations vs. definitions

  • a .cpp file is a compile unit(编译单元)
  • only declarations are allowed to be in .h
    • extern variables  // extern 的
    • function prototypes // 原型  没有 {}
    • class/struct declaration // 没有类的定义,只有类的声明

c++一次只对一个.cpp文件进行编译,链接的时候可能会出现重复定义的变量而出错

class/struct只有声明没有定义

#inlcude

  • "# include" is to insert the included file into the .cpp file 或 .h  at where the "#include" statement is
    • "#include xx.h" :first search in the current directory(当前目录),then the directories declared somewhere
    • "#include <xx.h>":search in the specified directories(系统目录)
    • "#include ":same as "#include <xx.h>"

iostream.h----->istream

standard header file structure

#ifndef HEADER_FLAG
#define HEADER_FLAG
//type declaration here
#endif //HEADER_FLAG

标准头文件结构,防止声明重复出现, 如果有了声明的东西,这些内容就不会进入编译器

.h 内放 声明 而不放 定义, 是为了避免 多个 .cpp  include 同一个 .h 时候, ld 遇到了重复定义的东西。

标准头文件结构,是防止一个 .cpp 里面 include 同一个 .h 多次,出现那个 .h 里面 类的声明重复出现。

tips for header

  1. one class declaration per header file  一个头文件里面只放一个类的声明
  2. associated with one source file in the same prefix of file name (源代码用相同前缀)
  3. the contents of a header file is surrounded with "#ifndef #define #endif"

为什么不能 include  .cpp ?因为.cpp 内都是 body,  都是定义, 如果被 include 多次,那么都是重复的。

### 回答1: 翁恺ct-dist的文件夹是指翁恺在编程项目中常用的文件夹之一。CT-Dist是一个常用的开源项目,用于计算文本之间的相似性。在这个项目中,翁恺通常会使用ct-dist文件夹来存放与CT-Dist相关的代码、配置文件和数据文件。 在ct-dist文件夹中,可能会包含以下内容: 1. 源代码文件:这些文件包含了CT-Dist项目的核心代码,用于实现文本相似性计算的算法和功能。这些代码文件通常以.py或.java等编程语言的扩展名为后缀。 2. 配置文件:这些文件用于设置CT-Dist项目的参数和选项,以便根据具体需求对文本相似性计算进行定制。配置文件的内容可以包括输入输出路径、特征提取方法、权重设置等。 3. 数据文件:CT-Dist项目在计算文本相似性时需要使用的数据文件,如语料库、词向量文件等。这些数据文件可以通过配置文件中的路径进行指定,并被代码读取和处理。 除此之外,ct-dist文件夹还可能包含测试文件、文档文件和结果输出文件等。测试文件用于验证CT-Dist项目的正确性和稳定性,文档文件则包含了关于CT-Dist项目的详细说明和使用指南。结果输出文件则保存了CT-Dist计算得到的文本相似性结果。 总之,翁恺ct-dist的文件夹是存放与CT-Dist项目相关的代码、配置文件和数据文件的文件夹。它是翁恺在编程项目中的一个重要组成部分,用于实现文本相似性计算的功能。 ### 回答2: 翁恺ct-dist是一个文件夹,它可能是一个软件项目的一部分。ct-dist是一个常用的命名约定,通常表示"可执行项目的构建产物",也可以解释为"编译和分发的文件夹"。在这个文件夹中,通常包含了经过编译和处理过的项目文件,以便进行部署和分发。 在ct-dist文件夹中,我们通常可以看到一些特定的文件和文件夹。其中包括编译后的可执行文件,如二进制文件或可执行脚本,这些文件通常表示程序的最终产物。还可能包含一些配置文件,用于指定程序的运行环境和参数设置。此外,ct-dist文件夹中还可能包含一些资源文件,如图片、样式文件或其他必要的外部文件,这些文件在程序运行过程中可能需要被引用。 翁恺ct-dist文件夹的存在对于项目的部署和分发非常重要。通过将编译后的可执行文件和其他必要的文件放在同一个文件夹中,开发人员可以方便地进行项目的打包和分发。这样,其他用户或部署人员只需要将整个ct-dist文件夹复制到他们的机器上,即可执行项目,而不需要再去处理源代码或其他依赖项。 总之,翁恺ct-dist文件夹是一个存放编译、处理后的项目文件的文件夹,它对于项目的部署和分发起着重要作用。通过将项目的最终产物和必要的资源文件集中在一个文件夹中,简化了项目的部署过程,使其他用户可以更轻松地使用和执行这个项目。 ### 回答3: 翁恺ct-dist文件夹是一个用于存放由翁恺开发的CT(Computer Tomography,计算机断层扫描)图像处理程序的文件夹。CT-dist是翁恺开发的一个用于计算机断层扫描图像分析和处理的软件包。 CT(Computer Tomography)是一种医学成像技术,通过利用X射线在人体内进行多个角度的扫描,然后将这些扫描数据进行重建,得到人体不同层面的断层图像。CT图像具有丰富的信息,可以帮助医生进行疾病诊断和治疗方案制定。但是,由于CT图像数据量大、复杂、难以直接观察和分析,因此需要借助计算机进行图像处理和分析。 翁恺ct-dist文件夹中存放的程序主要用于CT图像分析和处理。这些程序包括了一系列的算法和方法,可以实现CT图像的预处理、降噪、增强、分割和三维重建等功能。通过这些程序,医生和研究人员可以提取出感兴趣的区域,进行病变检测和定量分析,从而辅助医学诊断和研究。 翁恺ct-dist文件夹的程序主要基于计算机视觉和数字图像处理的理论和方法。翁恺是计算机视觉和医学图像处理领域的专家,他的研究成果在CT图像分析和处理方面具有重要的应用价值。因此,翁恺ct-dist文件夹中的程序不仅可以促进医学图像处理的研究和发展,同时也对于提高CT图像的质量和临床应用具有重要的意义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

理心炼丹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值