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

西安网站优化招聘网多个网站 备案吗

西安网站优化招聘网,多个网站 备案吗,哪个网站可以免费做网页,玫瑰在线 网站建设内容一、缺省模板参数 回顾前面的文章#xff0c;都是自己管理stack的内存#xff0c;无论是链栈还是数组栈#xff0c;能否借助标准模板容器管理呢#xff1f;答案是肯定的#xff0c;只需要多传一个模板参数即可#xff0c;而且模板参数还可以是缺省的#xff0c;如下都是自己管理stack的内存无论是链栈还是数组栈能否借助标准模板容器管理呢答案是肯定的只需要多传一个模板参数即可而且模板参数还可以是缺省的如下 template typename T, typename CONT std::dequeT class Stack { … private:     CONT c_; }; 如果没有传第二个参数默认为deque 双端队列当然我们也可以传递std::vectorT   下面程序借助标准模板容器管理内存来实现stack模板类 Stack.h   C Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44   #ifndef _STACK_H_ #define _STACK_H_ #include exception #include deque using  namespace std; template  typename T,  typename CONT  dequeT  class Stack { public:     Stack() : c_()     {     }     ~Stack()     {     }      void Push( const T elem)     {         c_.push_back(elem);     }      void Pop()     {         c_.pop_back();     }     T Top()     {          return c_.back();     }      const T Top()  const     {          return c_.back();     }      bool Empty()  const     {          return c_.empty();     } private:     CONT c_; }; #endif  // _STACK_H_   main.cpp   C Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21   #include  Stack.h #include iostream #include vector using  namespace std; int main( void) {      /*Stackint s;*/     Stack int, vector int  s;     s.Push( 1);     s.Push( 2);     s.Push( 3);      while (!s.Empty())     {         cout  s.Top()  endl;         s.Pop();     }      return  0; }     输出为 3 2 1 即如果没有传递第二个参数堆栈和压栈等操作直接调用dequeint 的成员函数也由dequeint 管理内存。 如程序中传递vectorint 则由vectorint 成员函数处理。 二、成员模板 来看下面的例子   C Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27   #include iostream using  namespace std; template  typename T class MyClass { private:     T value; public:      void Assign( const MyClassT x)     {         value  x.value;     } }; int main( void) {     MyClass double d;     MyClass int i;     d.Assign(d);         // OK    d.Assign(i);         // Error     return  0; }     因为i 和 d 的类型不同故会编译出错。可以用成员模板的方法解决 C Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42   #include iostream using  namespace std; template  typename T class MyClass { private:     T value; public:     MyClass() {}      template  class X     MyClass( const MyClassX x) : value(x.GetValue())     {     }      template  class X      void Assign( const MyClassX x)     {         value  x.GetValue();     }     T GetValue()  const     {          return value;     } }; int main( void) {     MyClass double d;     MyClass int i;     d.Assign(d);         // OK    d.Assign(i);         // OK     MyClass double d2(i);      return  0; } 为了支持  MyClassdouble d2(i); 故也要将拷贝构造函数实现为成员模板同理如果想支持 d i ; 也要讲赋值运算符实现为成员 模板。 实际上auto_ptrclass 中的实现就使用了成员模板因为要支持类似下面的运算 auto_ptrX x; auto_ptrY y; x y; 三、typename 关键字 看下面的例子 C Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25   #include iostream using  namespace std; template  typename T class MyClass { private:      typename T::SubType *ptr_; }; class Test { public:      typedef  int SubType; }; int main( void) {     MyClassTest mc;      return  0; } typename T::SubType *ptr_; 如果前面没有typename 修饰则SubType会被认为是T类型内部的静态数据成员推导下去* 就不再认 为是指针而被认为是乘号编译的时候就出错了。加上修饰就知道SubType 是T 内部的自定义类型ptr是指向这种类型的指 针编译通过。   四、派生类与模板、面向对象与泛型编程 一、派生类与模板 1、为了运行的效率类模板是相互独立的即独立设计没有使用继承的思想。对类模板的扩展是采用适配器adapter来完成的。通用性是模板库的设计出发点之一这是由泛型算法algorithm和函数对象functor等手段达到的。 2、派生的目标之一也是代码的复用和程序的通用性最典型的就是MFC派生类的优点是可以由简到繁逐步深入程序编制过程中可以充分利用前面的工作一步步完成一个复杂的任务。 3、模板追求的是运行效率而派生追求的是编程的效率。 二、面向对象与泛型编程 1、面向对象与泛型都依赖于某个形式的多态 面向对象 动态多态虚函数 泛型 静态多态模板类模板函数 2、面向对象中的多态在运行时应用存在继承关系。我们编写使用这些类的代码忽略基类与派生类之间的类型差异。只要使用基类指针或者引用基类类型对象、派生类类型对象就可以共享相同的代码。 3、在泛型编程中我们所编写的类和函数能够多态地用于编译时不相关的类型。一个类或一个函数可以用来操纵多种类型的对象。   参考 C primer 第四版 Effective C 3rd C编程规范
http://www.pierceye.com/news/720330/

相关文章:

  • 宣威网站wordpress 园林模板
  • 宁夏政务大厅城乡建设厅口网站怎么用抓爬工具做网站
  • 电影网站怎么建设深圳企业营销型网站
  • 天津工程建设网官方网站wordpress 静态化插件
  • 洛阳公司青峰做的企业网站设计本app
  • 宁波网站建设设计高效的设计公司
  • c2c网站架构免费推广网站工具
  • 网站建设案例基本流程图咨询公司名字大全
  • 成功的电子商务网站设计律师推广网站排名
  • 东莞桥头网站建设合肥商城网站建设
  • 做网站的准备什么合肥制作网页设计
  • 医院门户网站建设规划柳州建设厅官方网站
  • 公司建网站怎么建做网站的公司都很小吗
  • 手机cms建站系统重庆怎么站seo
  • 益阳建设局网站网站 设计 趋势
  • 奉贤网站建设网站制作金融企业如何做好网络推广
  • 范湖网站建设团队建设银行激活网站
  • 旅游网站开发网站设计报告书邢台旅游景点大全排名 免费
  • 如何创建div做网站推荐佛山伦教网站设计
  • 建设电子商务网站前的市场分析网站后台ftp
  • 华丽的网站模板律所网站建设
  • 网站 管理系统搜索关键词的方法
  • 网站桥页也叫设计班级网站建设
  • 安庆网站建设工作室方维网络科技有限公司
  • 手机网站开发利用流程做网盟行业网站的图片广告的销售
  • 厦门建公司网站怎样自做网站
  • 兰州市网站建设公司无锡上海网站建设
  • 轻骑铃木摩托车官网资源专业网站优化排名
  • 做电影网站赚钱吗中企网站建设
  • 罗源网站建设免费建网站 步骤