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

做网站自己网站建设销售职责

做网站自己,网站建设销售职责,建筑行业最新资讯,门户网站信息发布管理办法第十九章#xff1a;特殊工具与技术 对于很多程序员来说#xff0c;他们很少会用到本章的介绍的内容。 一.控制内存分配 我们能够重载new和delete#xff0c;但其实不是对new和delete的重载#xff0c;只是对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包含两种枚举限定作用域和不限定作用域的。限定作用域是C11新标准引入的定义方式为在定义的时候在enum后面加上class或struct。 在限定作用域的枚举类型中枚举成员的名字遵循常规的作用域准则并且在枚举类型的作用域外是不可访问的可以用作用域运算符访问在不限定作用域的枚举类型中枚举成员的作用域与枚举类型本身的作用域相同。 默认情况下枚举值从0开始依次加1不过我们也能为一个或几个枚举成员指定专门的值。枚举值不一定唯一。枚举成员是const的。 enum是由某种整型类型表示的在C11新标准中我们可以在enum的名字后加上冒号以及我们想在该enum中使用的类型。如果不加限定的默认是int非限定的默认不知。 四.类成员指针 成员指针是指可以指向类的非静态成员的指针。一般情况下指针指向一个对象但是成员指针指向的是类的成员而不是某个特定对象。 成员指针的类型囊括了类的类型及成员的类型。当初始化一个这样的指针时我们令其指向类的某个成员但是不指定该成员所属的对象直到使用成员指针时才提供成员所属的对象。 常规的访问控制规则对成员指针同样有效。 五.嵌套类 一个类可以定义在另一个类的内部前者称为嵌套类或嵌套类型。 嵌套类和外部类没有什么特别的关系只是嵌套类位于外部类的作用域中受外部类的访问控制两者都不含对方的成员。 六.union一种节省空间的类 联合union是一种特殊的类。可以有多个数据成员但是在任意时刻只有一个数据成员可以有值。分配给一个union对象的存储空间至少要能容纳它的最大成员。union可以为其成员指定publicprotected和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://www.dnsts.com.cn/news/22295.html

相关文章:

  • 天天seo站长工具做视频网站的公司
  • 微信网站设计运营淘宝网站推广策划方案
  • 天津建设银行官网站首页企业微信网站开发
  • 各大搜索引擎提交网站入口大全四平网站制作
  • 上海网站案例小程序官网登录入口
  • 制作网制作网站建设的公司宜昌网站改版
  • 网站分析表免费注册一个网站
  • 上海奉贤网站建设优秀营销软文范例500字
  • 网站建设 上海网客户关系管理系统的主要功能
  • 网站开发教材网站推广公司大家好
  • 汤阴做网站wordpress管理员破解
  • 如何用万网做自己的网站个人网站建设架构
  • 做外贸在那些网站找业务德惠网站
  • 京东商城网站的搜索引擎营销做的案例分析电子政务网站建设总结
  • 做网站是com还是cn好wordpress 仿站命令
  • 厦门旅游集团网站建设泉州网站建设多少钱
  • 阿里云配置网站ecxl表格数据导入wordpress
  • 中山网站建设华联在线宣传片拍摄的意义
  • 网站标题在哪里修改网上购物网站开发英文文献
  • 说服企业做网站网站幻灯片效果
  • 烟台h5网站开发怎样做境外网站
  • 手机网站meta心连网网站
  • 珠海市网站建设哪家好青岛 php 网站建设
  • 重庆规模最大的建网站公司东莞营销网站建设
  • 西安网站seo诊断wordpress版权破解
  • 加盟企业网站建设目的海阳手机网站开发
  • wap网站生成小程序织梦网站如何做关键词
  • 资源丰富免费的网站推荐排名企业型网站开发
  • 做钢管用哪个门户网站网页制作的工具有哪些
  • 网站建设费用的会计如何快速推广一个新产品