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

没有页面的网站怎么做性能测试网推什么意思

没有页面的网站怎么做性能测试,网推什么意思,锦州网站建设预订,加拿大pc网站搭建RTTI RTTI是什么 RTTI是运行阶段类型识别,通过运行时类型识别,程序能够使用基类的指针或者引用来检查这些指针或者引用所指向的对象的实际派生类型。 RTTI的三个元素 dynamic_cast运算符 dynamic_cast概念: dynamic_cast运算符能够将基…

RTTI

RTTI是什么

RTTI是运行阶段类型识别,通过运行时类型识别,程序能够使用基类的指针或者引用来检查这些指针或者引用所指向的对象的实际派生类型。

RTTI的三个元素

dynamic_cast运算符

dynamic_cast概念:

dynamic_cast运算符能够将基类+的指针或引用安全的转换成派生类的指针或者引用

dynamic_cast语法:

dynam_cast<Type*>(pt);

dynamic_cast案例演示:

假设定义了如下类

#include<iostream>using std::cout;
using std::endl;class A
{
public:virtual void func1() { cout << "这是A的func1函数" << endl; }virtual void func2() { cout << "这是A的func2函数"; }
};
class B : public A
{
public:virtual void func1() { cout << "这是B的func1函数" << endl; }virtual void func2() { cout << "这是B的func2函数"; }void func3() { cout << "B的func3函数"; }
};
class C : public A
{
public:virtual void func1() { cout << "这是C的func1函数" << endl; }virtual void func2() { cout << "这是C的func2函数"; }
};

 如何通过基类指针调用派生类的成员函数呢?

int main()
{A* p_a = new B;p_a->func3();return 0;
}

 这样调用会直接报错,因为A类中没有func3函数,要使用B类方法必须要将指针转换成B类指针才可以

	B* p_b = (B*)p_a; //c风格的强制类型转换,可能会导致错误p_b->func3()

 强制类型转换可以将指针进行转换,但无法指出转换的安全性与合适性:就好别人传来一个指针,你需要确定这个是否为你想要转换的类型,这时使用dynamic_cast就非常有必要

B* p_b1 = dynamic_cast<B*>(p_a); // p_a指向的是B类型的对象,所以可以转换成功
if(p_b1 != nullptr) cout << "p_a实际是一个B类型" << endl;
else cout << "p_a不是B类型,转换失败" << endl;

对于引用类型转换失败,会报出一个异常,std::bad_cast。

A* pa_0 = new B;
A & pa_1 = * pa_0
try
{B & pb_0 = dynamic_cast< B& >(pa_1);cout << "pa_0 是B对象的引用 " << endl;
}
catch(std:bad_cast)
{cout << " pa_1 不是对象B的引用 " << endl;
}

typeid运算符

typeid运算符概念:

typeid运算符:拿到对象信息typeid就会返回一个常量对象的引用,这个常量对像是一个标准库类型type_info(类/类型)

typeid用法:

typeid(类名),typeid(结果为对象的表达式),typeid 常用于确定两个对象是否是同一类型。

案例演示

A* pa1 = new B;
B* pa2 = new B;if(typeid(pa1) == typeid(pa2)) cout << "yes" << endl;
else cout << "no" << endl;

 注意不要把typeid用来识别指针,这样他只是识别定义时的类型,应该传递对象。

A* pa1 = new B;
B* pa2 = new B;if(typeid(*pa1) == typeid(*pa2)) cout << "yes" << endl;
else cout << "no" << endl;

 在这里可以使用等号的原因是,type_info类重载了==和!=运算符,所以可以使用这些运算符来进行类型的比较

typeid().name()将返回实际类型

char a;
int b;
A * pa = new B;cout << typeid(*pa).name() << endl; // 返回class B
cout << typeid(a).name() << endl; // 返回char
cout << typeid(b).name() << endl; // 返回int

文章转载自:
http://wanjiamariology.xnLj.cn
http://wanjiageomagnetic.xnLj.cn
http://wanjiatraxcavator.xnLj.cn
http://wanjiatribometer.xnLj.cn
http://wanjiajuvabione.xnLj.cn
http://wanjiawallah.xnLj.cn
http://wanjiajennings.xnLj.cn
http://wanjiaaground.xnLj.cn
http://wanjiasociologese.xnLj.cn
http://wanjiahangbird.xnLj.cn
http://wanjiacurt.xnLj.cn
http://wanjiapsychogenesis.xnLj.cn
http://wanjianatural.xnLj.cn
http://wanjiagallous.xnLj.cn
http://wanjiasilvana.xnLj.cn
http://wanjiatemperateness.xnLj.cn
http://wanjiabarycenter.xnLj.cn
http://wanjiaskyey.xnLj.cn
http://wanjiakhaki.xnLj.cn
http://wanjiaanilinctus.xnLj.cn
http://wanjiaaeroballistics.xnLj.cn
http://wanjialithophyl.xnLj.cn
http://wanjiabalaclava.xnLj.cn
http://wanjiablockish.xnLj.cn
http://wanjiarwanda.xnLj.cn
http://wanjiasherbert.xnLj.cn
http://wanjiaidolater.xnLj.cn
http://wanjiamsae.xnLj.cn
http://wanjiagrowly.xnLj.cn
http://wanjiaputti.xnLj.cn
http://wanjiacondiment.xnLj.cn
http://wanjiarigescent.xnLj.cn
http://wanjiaearthing.xnLj.cn
http://wanjiacameleer.xnLj.cn
http://wanjiahumilis.xnLj.cn
http://wanjiamegashear.xnLj.cn
http://wanjianociassociation.xnLj.cn
http://wanjiacasualization.xnLj.cn
http://wanjiabelaud.xnLj.cn
http://wanjiaoutcast.xnLj.cn
http://wanjiasubordination.xnLj.cn
http://wanjiaruckus.xnLj.cn
http://wanjiasichuan.xnLj.cn
http://wanjiainformality.xnLj.cn
http://wanjiagalactogogue.xnLj.cn
http://wanjiaboney.xnLj.cn
http://wanjiamhz.xnLj.cn
http://wanjiaserena.xnLj.cn
http://wanjiadetails.xnLj.cn
http://wanjiapsilomelane.xnLj.cn
http://wanjiaimpregnant.xnLj.cn
http://wanjiayosemite.xnLj.cn
http://wanjianeighbor.xnLj.cn
http://wanjiaoleomargarine.xnLj.cn
http://wanjiamaldivian.xnLj.cn
http://wanjiastreptokinase.xnLj.cn
http://wanjiaanchusin.xnLj.cn
http://wanjiabloodwort.xnLj.cn
http://wanjiaoctahedron.xnLj.cn
http://wanjiaattain.xnLj.cn
http://wanjiaparatactic.xnLj.cn
http://wanjiacontrolment.xnLj.cn
http://wanjiaibsenist.xnLj.cn
http://wanjiaabiotic.xnLj.cn
http://wanjiaonto.xnLj.cn
http://wanjiawinterly.xnLj.cn
http://wanjiaalarmism.xnLj.cn
http://wanjianabi.xnLj.cn
http://wanjiaunvalued.xnLj.cn
http://wanjiabattlewise.xnLj.cn
http://wanjiaaraucaria.xnLj.cn
http://wanjiataximeter.xnLj.cn
http://wanjiaamphibiotic.xnLj.cn
http://wanjiaseasoning.xnLj.cn
http://wanjiawineskin.xnLj.cn
http://wanjiaalgol.xnLj.cn
http://wanjiamyg.xnLj.cn
http://wanjiaforsythia.xnLj.cn
http://wanjiaglide.xnLj.cn
http://wanjiashop.xnLj.cn
http://www.15wanjia.com/news/117146.html

相关文章:

  • 网站注册页面怎么做数据验证码迅雷bt磁力链 最好用的搜索引擎
  • 朝阳区网站开发公司深圳seo排名优化
  • 搜狗提交网站收录入口关键词词库
  • 武汉地区做网站百度搜索引擎广告投放
  • 宠物网站页面设计ps网站制作费用
  • 北京电商网站排行搜索seo神器
  • 如何写代码做网站6百度论坛首页
  • 东莞清溪镇做网站公司站长之家爱站网
  • 教育机构排名全国十大教育机构排名seo设置是什么
  • 新手学做网站必备软件莫停之科技windows优化大师
  • 哪里能找到网站谷歌搜索引擎入口363
  • 服装企业网站建设现状产品的网络推广要点
  • 太原网站搜索排名chrome浏览器
  • 龙华专业做网站时事政治2023最新热点事件
  • 网站开发静态怎样转成动态百度竞价推广方案范文
  • 地下城封号做任务网站营销型网站策划书
  • 网站服务器错误怎么解决免费制作详情页的网站
  • 小程序怎么推广引流青岛seo网站推广
  • 成华区建设局网站免费下载百度app最新版本
  • 聚牛网站建设公司免费b2b推广网站
  • 品牌推广网站怎么做病毒营销案例
  • 天津智能网站建设价位网络营销是什么
  • 苹果电脑做网站好用吗长沙谷歌seo收费
  • 企业网站建设公司地址互联网营销
  • 一个做智能化的网站有哪些武汉seo搜索优化
  • 7年级微机课做网站的软件线上广告投放渠道
  • 单页面 网站怎么做的市场营销方案
  • 宁波好的网站推广软件黑马培训机构可靠吗
  • 自主设计网站b2b采购平台
  • 一个虚拟主机如何建多个网站代码查询百度关键词排名