转载地址:http://www.stroustrup.com/bs_faq2.html#null为什么应该使用nullptr呢,以下是c++之父的解释:1downvoteHereisBjarneStroustrup‘swordings,InC++,thedefinitionofNULLis0,sothereisonlyanaestheticdifference.Iprefertoavoidmacros,soIuse0.AnotherproblemwithNULLi..
分类:
其他好文 时间:
2015-04-07 07:23:20
阅读次数:
226
struct BinTree
{
int data;
BinTree * left;
BinTree * right;
};递归版本void PreOrder(BinTree * root)
{
if(root != nullptr)
{
cout <data;
PreOrder(root->left);...
分类:
其他好文 时间:
2015-03-30 18:48:42
阅读次数:
138
指针:
很多人 都知道 指针是保存变量的地址,有时候想想还是挺迷惑的。
数组:
数组名实际就是一个地址,指向数组的首地址。
疑问1 那么我如何使用指针来操作数组呢?
int main()
{
int arr[3]={3,5,9};
int *ptr1[3] = {nullptr};
int (*ptr2)[3] = &arr;//ok
*ptr1 = &arr[0];/...
分类:
编程语言 时间:
2015-03-30 11:24:45
阅读次数:
108
什么是RTTI
RTTI(Run Time Type Identify)运行时类型检查。就是在运行时知道对象的类型。
实现RTTI的方式
(1)typeid函数
typeid(obj).name()返回对象的类型名称。
(2)dynamic_cast操作符
dynamic_cast可以知道是否可以安全地将对象的地址赋给特定类型的指针。如果转换失败,返回空指针(nullptr)。
注意:
RTTI只适用于包含虚函数的类。
RTTI实现原理就是根据对象所指向的虚函数表知道对象的类型。
在包含虚函数...
分类:
编程语言 时间:
2015-03-30 09:40:15
阅读次数:
161
1 题目:Rotate ListGiven a list, rotate the list to the right by k places, where k is non-negative.For example:Given 1->2->3->4->5->nullptr and k = 2, return 4->5->1->2->3->nullptr.2 实现首先确定题目要求的旋转都需要哪些结点...
分类:
其他好文 时间:
2015-03-28 11:33:32
阅读次数:
124
题目:2.2.2 Reverse Linked List IIReverse a linked list from position m to n. Do it in-place and in one-pass.For example:Given 1->2->3->4->5->nullptr, m = 2 and n = 4,return 1->4->3->2->5->nullptr.Note: ...
分类:
其他好文 时间:
2015-03-28 11:33:15
阅读次数:
154
题目:
找出单链表中环的“入口”。
解答步骤:
1、用快慢指针判断是否存在环(慢指针走一步,快指针走两步)。若存在环则继续下面的计算,若不存在则返回nullptr;
2、记录快慢指针相遇的节点n0.
3、一个指针从链表头结点出发,另一个指针从n0出发,“同步前进”,相遇的节点就是环的“入口”。
分析:
由于快慢指针所走的“步数”相同,但快指针每一步...
分类:
其他好文 时间:
2015-03-16 12:59:03
阅读次数:
138
指针与引用的区别:1、指针本身就是一个对象,允许对指针赋值和拷贝,而且在指针的生命周期内它可以先后指向几个不同的对象;其二:指针无需在定义时赋值。指针在块作用域内定义如果没有被初始化,也将拥有一个不确定的值。 空指针: 得到空指针最直接的办法就是用字面值nullptr来初始化指针,这是C+ ...
分类:
编程语言 时间:
2015-03-08 15:35:48
阅读次数:
135
1. 引入nullptr的原因引入nullptr的原因,这个要从NULL说起。对于C和C++程序员来说,一定不会对NULL感到陌生。但是C和C++中的NULL却不等价。NULL表示指针不指向任何对象,但是问题在于,NULL不是关键字,而只是一个宏定义(macro)。1.1 NULL在C中的定义在C中...
分类:
编程语言 时间:
2015-03-02 16:24:34
阅读次数:
173
bool HeroSprite::isLeftWall(Point nextPos){ auto mapLayer=_map->getLayer("Map"); CCASSERT(mapLayer!=nullptr,"map is error ---HeroSprite::isGroun...
分类:
其他好文 时间:
2015-02-23 21:12:14
阅读次数:
251