指针

  1. 1.标准写法:
  2. 2.不要使用(NULL == ptr )或者 (nullptr== ptr )
  3. vector使用时
  4. 位运算用来解决异或问题
  5. 摩尔投票法来解决众数问题

1.标准写法:

(!ptr)或(ptr)
ptr 表示指针存在且不为空
!ptr等价于 ptr==NULL

这种写法在多数平台上都没歧义,只有一个统一的结果。

2.不要使用(NULL == ptr )或者 (nullptr== ptr )

这种写法,在不同的平台上可能有不同的结果。

从此可以总结出,在不同的平台上,NULL可能会被定义为其他地址,当然这个地址都是非法不可访问的。此问题同样适用于C。

vector使用时

一般情况下需要指定元素个数,否则容易报如下错误
Line 922: Char 34: runtime error: reference binding to null pointer of type ‘value_type’ (stl_vector.h)

位运算用来解决异或问题

比如所有数都是成对的,只有一个数是单的,则把所有数进行异或得到的就是该数字

摩尔投票法来解决众数问题


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 583614868@qq.com

文章标题:指针

文章字数:228

本文作者:钟帅豪

发布时间:2019-09-25, 09:16:31

最后更新:2019-09-25, 17:34:47

原始链接:http://jhshz520.github.io/2019/09/25/指针/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏