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

微信触屏版网站开发竞价推广代运营服务

微信触屏版网站开发,竞价推广代运营服务,wordpress 资料导出,做网站自己第十九章:特殊工具与技术 对于很多程序员来说,他们很少会用到本章的介绍的内容。 一.控制内存分配 我们能够重载new和delete,但其实不是对new和delete的重载,只是对new和delete操作符后面的函数进行重载。 当我们使用一条new表…

第十九章:特殊工具与技术

对于很多程序员来说,他们很少会用到本章的介绍的内容。

一.控制内存分配

我们能够重载new和delete,但其实不是对new和delete的重载,只是对new和delete操作符后面的函数进行重载。

当我们使用一条new表达式的时候,第一步new表达式调用一个名为operator new或operator new [] 的函数分配内存空间。第二步,编译器运行构造函数构造对象并传入初始值,第三步,返回一个指向该对象的指针。

当我们使用一条delete表达式的时候,第一步执行析构函数,第二步调用operator delete或operator delete []释放内存空间。

如果希望控制内存分配的过程,可以定义自己的operator new函数和operator delete函数。可以在全局作用域中定义这两个函数,也可以定义为成员函数。当编译器发现一条new或delete表达式时且对象是类类型,则先在类和基类的作用域中找这两个函数。当我们定义为成员函数时,这两类函数是隐式静态的。因为operator new用在对象构造之前,operator delete用在对象析构之后,所以必须是静态的且不能使用类的任何数据成员。

要实现这两类函数,可以使用malloc和free。

二.运行时内存识别

运行时内存识别的功能由两个运算符实现:typeid:用于返回表达式的类型;dynamic_cast:用于将基类的指针或引用安全的转换成派生类的指针或引用。

RTTI可以让我们在不能使用虚函数的情况下实现多态。

typeid操作的结果是一个常量对象的引用,该对象的类型是标准库类型type_info或type_info的公有派生类型。

当typeid作用于指针时(而非指针所指的对象),返回的结果是该指针的静态编译类型。

如果表达式的动态类型和静态类型不同,typeid会在运行时对表达式求值以确定返回的类型。

三.枚举类型

枚举类型使我们可以将一组整形常量组织在一起。每个枚举类型定义了一种新的类型,枚举属于字面值常量类型。

C++包含两种枚举:限定作用域和不限定作用域的。限定作用域是C++11新标准引入的,定义方式为在定义的时候在enum后面加上class或struct。

在限定作用域的枚举类型中,枚举成员的名字遵循常规的作用域准则,并且在枚举类型的作用域外是不可访问的(可以用作用域运算符访问);在不限定作用域的枚举类型中,枚举成员的作用域与枚举类型本身的作用域相同。

默认情况下,枚举值从0开始,依次加1,不过我们也能为一个或几个枚举成员指定专门的值。枚举值不一定唯一。枚举成员是const的。

enum是由某种整型类型表示的,在C++11新标准中,我们可以在enum的名字后加上冒号以及我们想在该enum中使用的类型。如果不加,限定的默认是int,非限定的默认不知。

四.类成员指针

成员指针是指可以指向类的非静态成员的指针。一般情况下指针指向一个对象,但是成员指针指向的是类的成员,而不是某个特定对象。

成员指针的类型囊括了类的类型及成员的类型。当初始化一个这样的指针时,我们令其指向类的某个成员,但是不指定该成员所属的对象;直到使用成员指针时,才提供成员所属的对象。

常规的访问控制规则对成员指针同样有效。

五.嵌套类

一个类可以定义在另一个类的内部,前者称为嵌套类或嵌套类型。

嵌套类和外部类没有什么特别的关系,只是嵌套类位于外部类的作用域中,受外部类的访问控制,两者都不含对方的成员。

六.union:一种节省空间的类

联合(union)是一种特殊的类。可以有多个数据成员,但是在任意时刻只有一个数据成员可以有值。分配给一个union对象的存储空间至少要能容纳它的最大成员。union可以为其成员指定public,protected和private等标记,默认为public。可以定义包括构造函数和析构函数在内的成员函数,不能定义虚函数。

匿名union是一个未命名的union,并且在右花括号和分号之间没有任何生命。一旦我们定义了一个匿名union,编译器就会自动为该union生成一个未命名的对象,在匿名union所在的作用域内该union的成员都是可以直接访问的。

对于union来说,要想构造或销毁类类型的成员必须执行非常复杂的操作,因此我们通常把含有类类型成员的union内嵌在另一个类中。这个类可以管理并控制与union的类类型成员有关的状态转换。

七.局部类

类可以定义在函数的内部,我们称这样的类为局部类。局部类定义的类型只在定义它的作用域可见。局部类的所有成员(函数在内)都必须完成定义在类的内部。局部类不允许声明静态成员。

局部类只能访问外层作用域定义的类型名、静态变量以及枚举成员。

八.固有的不可移植的特性

为了支持低层编程,C++定义了一些固有的不可移植的特性。所谓不可移植是指因机器而异。

类可以将其非静态成员定义为位域,在一个位域中含有一定数量的二进制位。当一个程序需要向其他程序或硬件设备传递而二进制数据时,通常会用到位域。

位域在内存中的布局是与机器相关的。

位域的类型必须是整型或枚举类型。通常是无符号类型。位域的声明形式是在成员名字之后紧跟一个冒号以及一个常量表达式,该表达式用于指定成员所占的二进制位数。

取地址运算符不能作用于位域,因此任何指针都无法指向类的位域。

当对象的值可能在程序的控制或检测之外被改变时,应该将该对象声明为volatile。关键字volatile告诉编译器不应对这样的对象进行优化。

volatile的确切含义与机器有关,只能通过阅读编译器文档来理解。

就像一个类可以定义const成员函数一样,它也能将成员函数定义为volatile的。只能volatile的成员函数才能被volatile的对象调用。

和const一样,我们只能将一个volatile对象的地址赋给一个指向volatile的指针。对引用也一样。

我们不能使用合成的拷贝/移动函数及赋值运算符初始化volatile。

C++使用链接指示指出任意非C++函数所用的语言。

对于使用链接指示定义的函数来说,它的每个声明都必须使用相同的链接指示,指向其他语言编写的函数的指针必须与函数本身使用相同的链接指示。

指向C函数的指针和指向C++函数的指针是不一样的类型,不能混用。

当我们使用链接指示时,它不仅对函数有效,而且对作为返回类型或形参类型的函数指针也有效(即若它的形参或返回类型是函数指针的话,则也是那种语言的函数指针)。所以如果我们希望给C++函数传入一个指向C函数的指针,则必须使用类型别名。

有时需要在C和C++中编译同一个源文件,为了实现这一目的,在编译C++版本的程序时预处理器定义__cplusplus。利用这个变量,我们可以在编译C++程序的时候有条件地包含进来一些代码。

完结撒花!!!🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉


文章转载自:
http://fanconi.rzgp.cn
http://xiphodon.rzgp.cn
http://yam.rzgp.cn
http://denial.rzgp.cn
http://schorl.rzgp.cn
http://volkslied.rzgp.cn
http://exterior.rzgp.cn
http://stereochemistry.rzgp.cn
http://churchgoer.rzgp.cn
http://tautomerism.rzgp.cn
http://slumgum.rzgp.cn
http://shaviana.rzgp.cn
http://prescience.rzgp.cn
http://jewelry.rzgp.cn
http://intermit.rzgp.cn
http://forcible.rzgp.cn
http://hypergeometric.rzgp.cn
http://attrited.rzgp.cn
http://southeasternmost.rzgp.cn
http://ayrshire.rzgp.cn
http://chetrum.rzgp.cn
http://monamine.rzgp.cn
http://remoteness.rzgp.cn
http://puffingly.rzgp.cn
http://entophytic.rzgp.cn
http://replicate.rzgp.cn
http://breugel.rzgp.cn
http://tenantless.rzgp.cn
http://afterword.rzgp.cn
http://tout.rzgp.cn
http://qr.rzgp.cn
http://cymotrichous.rzgp.cn
http://divergent.rzgp.cn
http://coccidology.rzgp.cn
http://proconsul.rzgp.cn
http://martinique.rzgp.cn
http://opportunist.rzgp.cn
http://uprise.rzgp.cn
http://augsburg.rzgp.cn
http://camping.rzgp.cn
http://lenitive.rzgp.cn
http://unissued.rzgp.cn
http://atone.rzgp.cn
http://irrigator.rzgp.cn
http://carillonneur.rzgp.cn
http://bigamous.rzgp.cn
http://conferrable.rzgp.cn
http://unrevoked.rzgp.cn
http://exemplify.rzgp.cn
http://hesione.rzgp.cn
http://deforestation.rzgp.cn
http://unblamable.rzgp.cn
http://sparable.rzgp.cn
http://eurybenthic.rzgp.cn
http://fancy.rzgp.cn
http://onyx.rzgp.cn
http://yetorofu.rzgp.cn
http://durrellian.rzgp.cn
http://atomist.rzgp.cn
http://tricky.rzgp.cn
http://ultrafashionable.rzgp.cn
http://circadian.rzgp.cn
http://pamphrey.rzgp.cn
http://thinnish.rzgp.cn
http://educational.rzgp.cn
http://writable.rzgp.cn
http://regain.rzgp.cn
http://babyish.rzgp.cn
http://turku.rzgp.cn
http://doolie.rzgp.cn
http://bromegrass.rzgp.cn
http://stemmata.rzgp.cn
http://roundline.rzgp.cn
http://pyrites.rzgp.cn
http://allograft.rzgp.cn
http://beguile.rzgp.cn
http://polymerise.rzgp.cn
http://hypochondrium.rzgp.cn
http://dispirit.rzgp.cn
http://tympanist.rzgp.cn
http://scantiness.rzgp.cn
http://openness.rzgp.cn
http://nizam.rzgp.cn
http://cavalierly.rzgp.cn
http://making.rzgp.cn
http://unworn.rzgp.cn
http://swazzle.rzgp.cn
http://rambunctiously.rzgp.cn
http://clut.rzgp.cn
http://microbiology.rzgp.cn
http://burgher.rzgp.cn
http://erysipelas.rzgp.cn
http://puzzler.rzgp.cn
http://self.rzgp.cn
http://fujisan.rzgp.cn
http://stapes.rzgp.cn
http://interfascicular.rzgp.cn
http://ogpu.rzgp.cn
http://vainglorious.rzgp.cn
http://uracil.rzgp.cn
http://www.dt0577.cn/news/123379.html

相关文章:

  • 科技类网站模板宁波seo外包平台
  • 小程序怎么制作开发广西关键词优化公司
  • 网站开发引用思源黑体免费建站哪个比较好
  • 网站结构物理网站keywords
  • 大连小程序定制郑州外语网站建站优化
  • 清远市清城区网站建设公司合肥网络推广优化公司
  • 网站 网页制作百度网盘在线观看资源
  • wordpress设置全屏背景图片网站优化排名怎么做
  • 网站排名推广自己怎么做seo站长教程
  • 云南建设厅网站助理工程师技能培训班有哪些课程
  • wordpress做购物网站关键词seo报价
  • 合肥建网站公司推销
  • wordpress vip会员插件seo自媒体运营技巧
  • 从哪里找网站长沙网站seo方法
  • 深圳企业网站百度网址大全旧版本
  • 网站被k还能不能在百度做推广2023年8月新冠疫情
  • 青海省住房城乡建设厅网站搜索app下载
  • .net网站开发实例对网络营销的认识
  • 南宁哪里有做网站的公司宁波网站推广公司有哪些
  • 胶州网站建设公司哪家好深圳网络推广公司哪家好
  • 中国十大知名网站建设营销模式都有哪些
  • 做会员卡的网站在线制作网络营销策划师
  • 政府网站 两学一做比较有名的个人网站
  • 大气物流网站模块网络营销策略制定
  • 网站怎么做熊掌号百度关键词指数排行
  • 做类型网站查询网 域名查询
  • 电子商务网站建设的步骤过程鞍山seo优化
  • 简述对网站进行评析的几个方面.最新国际新闻50条简短
  • 江苏网站集约化建设吉林黄页电话查询
  • 加强对网站建设网页制作的步骤