返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++11空指针有什么作用
  • 886
分享到

C++11空指针有什么作用

2023-06-19 10:06:46 886人浏览 独家记忆
摘要

本篇内容主要讲解“c++11空指针有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++11空指针有什么作用”吧!以前什么样在C语言中,使用NULL来初始化空指针。char* pch =

本篇内容主要讲解“c++11空指针有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++11空指针有什么作用”吧!

以前什么样

C语言中,使用NULL来初始化空指针。

char* pch = NULL;

在C++中,可以继续使用NULL,但是推荐使用0来初始化空指针。

char* pch = 0;

其原因是为了避免搜索匹配参数时可能发生的二义性。

存在的问题

首先观察下面的代码,在C++中可以正常编译。

int i = NULL;

从语义上来讲,本应该出错的。

再看一个稍微复杂一点点的例子,假设我们有下面的代码:

void output(int value){

   std::cout << "value=" << value << std::endl;

}

void output(char* msg){

   if(msg != 0){

       std::cout << "msg=" << msg << std::endl;

   }else{

       std::cout << "msg=NULL" << std::endl;

   }

}

这是两个重载的函数。如果我们希望调用output(char*)函数,下面的那种方式都不行:

output(0);

output(NULL);

原因很简单,0是整数,NULL实际上也是整数0。当然也不是没有办法,代码可以改成这样:

outpu((char*)0);

output((char*)NULL);

函数调用可以成功,但终究是不大舒服。

C++11的对策

其实我们需要的就是一个字面值来表示空指针,而不是借用数字0。C++11中定义了这个字面值:nullptr。有个它,再调用output函数是就清晰多了。

output(0);         //int参数版本

output(nullptr); //char* 参数版本。

当然,下面的代码也会发生编译错误。

int i = nullptr;

指针类型的变量就用指针类型的字面值初始化,这是再正常不过的事情了!

到此,相信大家对“C++11空指针有什么作用”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: C++11空指针有什么作用

本文链接: https://lsjlt.com/news/295545.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C++11空指针有什么作用
    本篇内容主要讲解“C++11空指针有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++11空指针有什么作用”吧!以前什么样在C语言中,使用NULL来初始化空指针。char* pch =...
    99+
    2023-06-19
  • C++11智能指针unique_ptr有什么作用
    这篇文章主要讲解了“C++11智能指针unique_ptr有什么作用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++11智能指针unique_ptr有什么作用”吧!软件开发中有很多处理是...
    99+
    2023-06-19
  • c语言指针有什么作用
    C语言指针是一种特殊的变量类型,用于存储内存地址。它们的作用包括:1. 动态内存分配:指针可以用于动态地分配内存,以便在程序运行时创...
    99+
    2023-09-14
    c语言
  • C++11 nullptr实现初始化空指针
    实际开发中,避免产生“野指针”最有效的方法,就是在定义指针的同时完成初始化操作,即便该指针的指向尚未明确,也要将其初始化为空指针。 所谓“野指针&...
    99+
    2024-04-02
  • C语言中指针有什么作用
    这篇“C语言中指针有什么作用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言中指针有什么作用”文章吧。一、内存本质编程的...
    99+
    2023-06-08
  • C语言的野指针与空指针是什么
    这篇文章主要介绍“C语言的野指针与空指针是什么”,在日常操作中,相信很多人在C语言的野指针与空指针是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言的野指针与空指针是什么”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-25
  • C++11智能指针shared_ptr怎么使用
    本篇内容介绍了“C++11智能指针shared_ptr怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!shared_prt的本身是一个...
    99+
    2023-06-19
  • C++11中的智能指针怎么用
    本篇内容介绍了“C++11中的智能指针怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!函数原型:shared_ptr& oper...
    99+
    2023-06-19
  • C++11智能指针weak_ptr怎么使用
    本篇内容主要讲解“C++11智能指针weak_ptr怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++11智能指针weak_ptr怎么使用”吧!弱指针weak_ptr看起来更像shar...
    99+
    2023-06-19
  • 怎么在C++中使用this指针和空指针
    本篇文章为大家展示了怎么在C++中使用this指针和空指针,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C++通过提供特殊的对象指针,this指针,解决上述问题。this指针指向被调用的成员函数所属...
    99+
    2023-06-14
  • 怎么用C++实现野指针和悬空指针
    本篇内容主要讲解“怎么用C++实现野指针和悬空指针”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用C++实现野指针和悬空指针”吧!目录一、野指针二、悬空指针1 情况一2 情况二3 情况三野指...
    99+
    2023-06-20
  • C++中的this指针有什么用
    这篇文章主要介绍“C++中的this指针有什么用”,在日常操作中,相信很多人在C++中的this指针有什么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++中的this指针有什么用”的疑惑有所帮助!接下来...
    99+
    2023-06-17
  • C++中函数指针有什么用
    这篇文章主要为大家展示了“C++中函数指针有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C++中函数指针有什么用”这篇文章吧。1、函数指针函数指针顾名思义,就是指向函数的指针。和数据类似...
    99+
    2023-06-25
  • C语言中指针有什么用
    这篇文章主要介绍C语言中指针有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!(壹)  敢问指针为何物 1.1  指针的概念在计算机科学中,指针(Pointer)是编程语言中的一个对...
    99+
    2023-06-29
  • c语言指针的作用是什么
    C语言中的指针是一种特殊的数据类型,它用于存储变量的内存地址。指针的作用主要有以下几个方面:1. 内存管理:通过指针,可以动态地分配...
    99+
    2023-08-18
    c语言
  • C++指针传递的作用是什么
    这篇文章主要介绍了C++指针传递的作用是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++指针传递的作用是什么文章都会有所收获,下面我们一起来看看吧。具体如下void pointerTest(i...
    99+
    2023-07-05
  • c++智能指针的作用是什么
    C++智能指针的作用是管理动态分配的内存资源,确保资源的正确释放,避免内存泄漏和野指针的出现。智能指针能够自动在适当的时机释放所引用...
    99+
    2023-10-26
    c++
  • C++ 函数指针的作用是什么?
    函数指针是指向函数的变量,允许动态调用函数,无需在编译时知道实际函数。作用包括:动态函数调用、回调函数、事件处理和策略模式。实战案例包括:动态函数调用(通过函数指针调用特定函数)、回调函...
    99+
    2024-04-14
    c++ 函数指针
  • C++ this指针和空指针的具体使用
    每一个非静态成员函数只会诞生一份函数实例,也就是说多个同类型的对象会共用一块代码那么问题是:这—块代码是如何区分那个对象调用自己的呢? C++通过提供特殊的对象指针,this...
    99+
    2024-04-02
  • C语言中的数组和指针有什么作用
    本文小编为大家详细介绍“C语言中的数组和指针有什么作用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言中的数组和指针有什么作用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。指针相信大家对下面的代码不陌生:i...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作