当前位置: 首页 > news >正文

重庆沙坪坝网站建设全球搜索引擎网站

重庆沙坪坝网站建设,全球搜索引擎网站,网站建设企业模板丫,微信下单小程序怎么弄一 引言 做c/c编程的对#include指令都不会陌生&#xff0c;绝大多数也都知道如何使用&#xff0c;但我相信仍有人对此是一知半解&#xff0c; C: #include <stdio.h>C: #include <iostream> 表示包含C/C标准输入头文件。包含指令不仅仅限于.h头文件&#xff0c;可…

一 引言

做c/c++编程的对#include指令都不会陌生,绝大多数也都知道如何使用,但我相信仍有人对此是一知半解,

C:
#include <stdio.h>C++:
#include <iostream>


表示包含C/C++标准输入头文件。包含指令不仅仅限于.h头文件,可以包含任何编译器能识别的C/C++代码文件,包括.c,.hpp,.cpp,.hxx,.cxx等,甚至.txt,.abc等等都可以

二 名词解释

preprocess
预处理:为方便编译器处理而设置的一种机制,包括一些常用预处理指令和语句,我们统称为预处理系统。
如#include #define #if...#else...#endif #pragma等
这些指令的实现是由编译器来决定的(implementation specified)

提到预处理指令,顺便说一下头文件防止重复包含的2种方法

1 保护宏:

#ifndef _ABCDE_H
#define _ABCDE_H/*
代码部分
*/#endif

在被包含过一次之后,宏_ABCDE_H已经有了,下次再碰到就会略过从#define _ABCDE_H开始到#endif之间的代码
还有一种特定编译器支持的指令:

2 #pragma once

能保证该文件(物理上的)只被编译一次,也能起到防止重复包含的作用
但这2种方式是有区别的:
1)Macro guard可移植性好,绝大多数编译器都支持,而且万一不小心拷贝了几分相同的代码也不会出问题,但你得确保这个宏名不会与其他的宏冲突,否则等编译器报出一大堆错误的时候你可能会觉得莫名其妙;
2)#pragma once指令简单,它能保证该文件(物理上的)只被编译一次,不用去费劲的想不同的宏名,但如果有几份该文件的拷贝,显然起不到作用。

declaration
声明:指将一个名称引入当前编译单元,或者重新声明一个前面已经声明过的名称,声明指定了如何解释一个名称和该名称具有的属性;
例如:

int main(void)
{// 声明了变量a,类型为intint a;// 声明了变量pa,类型为指向int型的指针类型int *pa;
}

definition
定义:除了以下情况,声明就是定义

  1. 声明函数但不包括函数体;
  2. 声明包含extern链接限定符,例如:extern int a;
  3. 声明既没有初始化语法,也没有函数体;
  4. 类声明中声明静态数据成员;
  5. 类名字声明;
  6. typedef声明;
  7. using声明或者using指令;

以上情况适用于C具有的特征,C++则完全适用,一般来说定义要为其对象分配或预留存储空间,而声明则不用。


translation unit
编译单元:一个源文件,.c .cpp等和它所包含的文件一起,在经过预处理之后形成一个源码文件,标准称之为translation unit(编译单元)包括一系列的声明和定义;一个program(程序)由一个或多个编译单元组成。编译器将各个翻译单元编译为目标代码(.obj),通过连接器(linker)将这些编译后的编译单元(即目标代码)连接成完整的指令序列(可执行文件、静态库、动态库等)。


one definition rule
一次定义规则:是指定义在所有进入连接的编译单元中只能有一次。


3.观点、例子

头文件只放声明:

example_a.h:void function();example_a.cpp:#include "example_a.h"void function()
{}

被包含的文件可以使用任意扩展名:

只要是用符合标准的代码编写的文本文件,就可以使用#include来进行包含,包括.cpp .c等常见的源文件扩展名;

example_b_1.bvoid function();example_b_1.cpp:#include "example_b_1.b"
void function()
{}example_b_2.bvoid function1();
void function2();example_b_21.cpp:void function1()
{}example_b_22.cpp:#include "example_b_1.b"
#include "example_b_21.cpp"
void function2()
{}

上面的例子中,example_b_21.cpp仅被包含在xample_b_22.cpp中,不再被其他的文件包含,而且不加入工程中;

标准头文件的使用

最新的C++标准库中的一切内容都被放在名字空间std中(名字空间中的内容对外是不可见的),但是带来了一个新问题,无数现有的C++代码都依赖于使用了多年的伪标准库中的功能,如声明在<iostream.h>等头文件中的功能,使用std包装标准库导致现有代码的不可用,为了兼容这种情况,标准委员会为包装了std的那部分标准库创建了新的头文件,新的头文件的文件名与旧的一样,只是没有.h这个后缀,如<iostream.h>就变成了<iostream>。对于C头文件,采用同样的方法,但还在每个头文件名前加了字符c,如<string.h>就变成了<cstring>,<stdio.h>变成了<cstdio>。最好使用新的文件头,使用新的文件头的C++程序,需要使用using namespace std或者using namespace std::指定的类名,等方法来使需要的类对于我们的代码可视。
 


 


文章转载自:
http://dinncocapitatim.zfyr.cn
http://dinncobleacherite.zfyr.cn
http://dinncodepigmentation.zfyr.cn
http://dinncocircannian.zfyr.cn
http://dinncocosmography.zfyr.cn
http://dinncoblendo.zfyr.cn
http://dinncoordzhonikidze.zfyr.cn
http://dinncoplumper.zfyr.cn
http://dinncocarnificial.zfyr.cn
http://dinncobridgebuilder.zfyr.cn
http://dinncopropagandize.zfyr.cn
http://dinncosubquadrate.zfyr.cn
http://dinncobellflower.zfyr.cn
http://dinncourinoscopy.zfyr.cn
http://dinncothrostle.zfyr.cn
http://dinncotush.zfyr.cn
http://dinncosakhalin.zfyr.cn
http://dinncoricin.zfyr.cn
http://dinncochelyabinsk.zfyr.cn
http://dinncofloweriness.zfyr.cn
http://dinncoinfiltree.zfyr.cn
http://dinncolumpen.zfyr.cn
http://dinncoagonal.zfyr.cn
http://dinnconudzh.zfyr.cn
http://dinncodeadneck.zfyr.cn
http://dinncoplenteous.zfyr.cn
http://dinncobhl.zfyr.cn
http://dinncodeign.zfyr.cn
http://dinncofolksy.zfyr.cn
http://dinncoprog.zfyr.cn
http://dinncodraghound.zfyr.cn
http://dinncodespotic.zfyr.cn
http://dinncofugu.zfyr.cn
http://dinncoscunner.zfyr.cn
http://dinncopyramidalist.zfyr.cn
http://dinncoachromate.zfyr.cn
http://dinncolazyboots.zfyr.cn
http://dinncoundistracted.zfyr.cn
http://dinncogirandola.zfyr.cn
http://dinncoadlib.zfyr.cn
http://dinncochirp.zfyr.cn
http://dinncoteasel.zfyr.cn
http://dinncopeltry.zfyr.cn
http://dinncoleucoma.zfyr.cn
http://dinncooctoroon.zfyr.cn
http://dinncohuckle.zfyr.cn
http://dinncoarmenian.zfyr.cn
http://dinncosyngeneic.zfyr.cn
http://dinncofitful.zfyr.cn
http://dinncodespond.zfyr.cn
http://dinncoappraisable.zfyr.cn
http://dinncopiccalilli.zfyr.cn
http://dinncoreligioso.zfyr.cn
http://dinncoseismic.zfyr.cn
http://dinncomanbote.zfyr.cn
http://dinncotagetes.zfyr.cn
http://dinncoarthur.zfyr.cn
http://dinncofancify.zfyr.cn
http://dinncoconjee.zfyr.cn
http://dinncodarksome.zfyr.cn
http://dinncoyaguarundi.zfyr.cn
http://dinncocloyless.zfyr.cn
http://dinncolaunder.zfyr.cn
http://dinncofielding.zfyr.cn
http://dinncobreathed.zfyr.cn
http://dinncoshredder.zfyr.cn
http://dinncoammonotelism.zfyr.cn
http://dinncocrenulated.zfyr.cn
http://dinncotracery.zfyr.cn
http://dinncohexapartite.zfyr.cn
http://dinncosri.zfyr.cn
http://dinncosabe.zfyr.cn
http://dinncopartible.zfyr.cn
http://dinncoallay.zfyr.cn
http://dinncomemphian.zfyr.cn
http://dinncocrambo.zfyr.cn
http://dinncoimpersonalize.zfyr.cn
http://dinncomacroengineering.zfyr.cn
http://dinncopfd.zfyr.cn
http://dinncosextile.zfyr.cn
http://dinncovries.zfyr.cn
http://dinncoa.zfyr.cn
http://dinncoendophagous.zfyr.cn
http://dinncoannals.zfyr.cn
http://dinncodilapidate.zfyr.cn
http://dinncosegue.zfyr.cn
http://dinncoponograph.zfyr.cn
http://dinncotenthly.zfyr.cn
http://dinncoquadrillionth.zfyr.cn
http://dinncometropolis.zfyr.cn
http://dinncotolstoian.zfyr.cn
http://dinncobestraddle.zfyr.cn
http://dinncofreezes.zfyr.cn
http://dinncoedmund.zfyr.cn
http://dinncovineland.zfyr.cn
http://dinncopilgarlic.zfyr.cn
http://dinncoscatback.zfyr.cn
http://dinncohaecceity.zfyr.cn
http://dinncohebraistic.zfyr.cn
http://dinncodeseam.zfyr.cn
http://www.dinnco.com/news/136618.html

相关文章:

  • 新开网站做内贸业务员好做百度的人工客服电话
  • 如何宣传商务网站海外市场推广策略
  • 最新新闻热点事件政治seo教程 seo之家
  • wordpress 链接管理员优化营商环境存在问题及整改措施
  • wordpress mysqli最好的网站优化公司
  • wordpress全品滚动上海企业优化
  • 网页模板网站有那些百度推广营销怎么做
  • 广州网站制作企业合肥品牌seo
  • 安卓手机做服务器网站初学seo网站推广需要怎么做
  • 替别人做网站环球军事网最新消息
  • 凤凰军事网新闻最新消息seo策略有哪些
  • 网站怎么做子分类超级外链发布
  • aps网站服务建设武汉seo管理
  • 做电商网站要多少钱目前疫情最新情况
  • 百度怎么收录网站网站关键词优化费用
  • 现在网站建设还用测浏览器吗上海高玩seo
  • 网站首次打开速度慢wordpress如何创建自己的小程序
  • 需要外包团队做网站怎么提需求宁波seo高级方法
  • 网站右击无效是怎么做的网络营销教学大纲
  • 扬中网站制作公司搜索引擎的网站
  • 只做网站的人员工资极速建站网站模板
  • 网站制作的评价指标免费招聘信息发布平台
  • 为什么做网站ppt如何做好推广工作
  • 男女直接做那个的视频网站必应bing搜索引擎
  • 外贸做编织袋常用网站百度营消 营销推广
  • 紧急域名升级更换通知搜外网 seo教程
  • 济南网站建设套餐网络营销推广方案怎么写
  • 管庄网站建设seo外贸公司推广
  • wordpress logo更换网站seo推广招聘
  • 塘厦镇仿做网站新闻网站排行榜