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

雄安专业网站建设公司如何做好电商

雄安专业网站建设公司,如何做好电商,有没有做家具特卖的网站,如何诚信网站平台建设今天遇到一道不错的题目#xff0c;主要讲了c11对nullptr的特性。 首先#xff1a;nullptr 是C11引入的一个关键字#xff0c;用于表示“空指针常量”#xff0c;它是类型std::nullptr_t的唯一值。nullptr 的引入解决了C语言风格的空指针字面量#xff08;如NULL或0#…今天遇到一道不错的题目主要讲了c11对nullptr的特性。 首先nullptr 是C11引入的一个关键字用于表示“空指针常量”它是类型std::nullptr_t的唯一值。nullptr 的引入解决了C语言风格的空指针字面量如NULL或0在C中的一些问题和不一致性提供了更安全、更清晰的空指针表示。 示例1 #includeiostream struct A {void func(); }; void A:: func() {std::cout hello worldstd::endl; } int main() {A * a nullptr;a-func();return 0; } 请问上面的代码编译怎怎样运行怎样 答案正常编译运行输出 hello world。 为什么呢 这段代码中将指针a初始化为nullptr并在之后调用了a的成员函数func()。正常情况下这样的代码会导致空指针解引用错误因为a指向了空的内存地址。 然而在这个特定情况下虽然a是空指针但是func()函数在执行时并没有使用到a指针的任何成员变量或函数所以没有导致错误。因此代码能够正常执行并输出hello world。 示例2 #includeiostreamclass A {void func(); };void A:: func() {std::cout hello worldstd::endl; }int main() {A * a nullptr;a-func();return 0; } 我们将struct改为class会怎样呢因为默认类默认是私有的所以编译就会报错。只要我们将类型改为公有就可以正常编译且运行了 示例3 在这里插入#includeiostreamclass A {public:virtual void func(); };void A:: func() {std::cout hello worldstd::endl; }int main() {A * a nullptr;a-func();return 0; } 代码片那么这样呢将func声明未虚函数呢能否编译成功运行 答案可以编译运行的时候会core dumped。原因是正是出现在了虚函数上面。 当我们定义一个类的成员函数为虚函数时会通过虚函数表和函数指针维护这个虚函数。 当我们通过基类指针或引用调用虚函数时实际上是通过以下步骤进行的 1、获取对象的虚函数指针。 2、通过虚函数指针找到对应的虚函数表。 3、在虚函数表中查找对应虚函数的函数指针。 4、调用找到的函数指针所指向的函数。 回归到这个题。 func()是一个虚函数虚函数机制只会在你尝试通过基类指针调用派生类中的函数时生效但它不能防止你对空指针进行操作。 在你尝试调用a-func()时编译器会尝试获取a指向的对象的虚函数表然后从虚函数表中查找func()函数的地址并调用它。但是因为a是nullptr所以编译器无法获取到虚函数表于是导致了崩溃。
http://www.w-s-a.com/news/906778/

相关文章:

  • 石家庄快速网站搭建设计公司属于什么企业
  • 中小学智慧校园建设平台网站sem竞价推广
  • 想创建一个网站官方网站建设推广
  • 江门网站优化民间it网站建设
  • 科研实验室网站建设wordpress加载模板
  • 用r做简易的网站软件园二期做网站的公司
  • 菏泽网站建设价格长春高档网站建设
  • PHP网站开发与管理设计心得网站流量图怎么做
  • 苏州做网站企业wordpress点击文字弹出层
  • 做网站必要性中山古镇做网站
  • 增城住房和城乡建设局网站2021网站你懂我意思正能量
  • seo优秀网站深圳企业医疗网站建设
  • 单页 网站 模板重庆微信网站制作专家
  • 石家庄网站定制制作企业所得税优惠政策最新2022文件
  • 免费推广网站途径有哪些郑州企业型网站建设
  • wap网站建设设计wordpress首页名称
  • wordpress网站换空间南宁网站设计可以找我
  • 期货贵金属网站建设招远网站建设哪家专业
  • 上海网站排名个人网站可以做百度推广
  • 网站主题及样式优化个人网站 可以做论坛吗
  • 中企动力 网站推广一级域名免费申请
  • 山东专业的网站建设博罗做网站哪家强
  • 手机网站支持微信支付吗宝塔如何添加ip域名做网站
  • 什么专业学网站建设企业合同管理系统
  • 我要啦免费统计怎么做网站销售订单管理系统软件
  • 门户网站建设教程更改wordpress端口
  • 普兰店网站建设公司云计算培训
  • 网站建设的网络技术app下载平台哪个好
  • 中国建筑人才网是什么网站导购网站制作
  • 网站建设开票东莞龙岗网站建设