NULL在c++中是一个宏,是一个空指针常量,如果将NULL扩展为常数,那么这个数是0,类型为int。 所以,常数0既是整型常量,也是空指针常量,这就有可能导致二义性问题。因此,c++11新标准引入了 nullptr,将其作为空指针常量。 ...
分类:
编程语言 时间:
2018-09-02 01:59:59
阅读次数:
244
1. nullptr 使得我们可以区分空指针和0 void foo(char *); void foo(int); 对于char* ch = nullptr foo(ch); //就 不会去调用第二个参数为整型的重载函数了 2. auto 自动推导变量的类型 for(auto itr = vec.c ...
分类:
编程语言 时间:
2018-08-30 20:39:14
阅读次数:
218
前提:状态变化模式 典型模式 一:State状态模式 (一)概念 (二)动机 (三)代码讲解 1.原代码 2.改进代码,将基类抽出 (四)模式定义 (五)类图(结构) (六)要点总结 1.State模式将所有与一个特定状态相关的行为都放入一个State的子类对象中,在对象状态切换时, 切换相应的对象 ...
分类:
其他好文 时间:
2018-08-28 10:37:21
阅读次数:
163
```C++ struct TreeNode { int val; TreeNode* left; TreeNode* right; explicit TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} }; void trimLef... ...
分类:
编程语言 时间:
2018-08-26 16:52:11
阅读次数:
366
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), r... ...
分类:
其他好文 时间:
2018-08-26 16:41:21
阅读次数:
423
```C++ class Solution { public: void Mirror(TreeNode *pRoot) { if(pRoot == nullptr) return; cout val left; pRoot->left = pRoot->right; pRoot->right = ... ...
分类:
其他好文 时间:
2018-08-26 00:02:29
阅读次数:
201
```C++
class Solution {
public: ListNode* ReverseList(ListNode* pHead) { ListNode* prev = nullptr; ListNode* curr = pHead; while ( curr != nullptr ){ ... ...
分类:
其他好文 时间:
2018-08-25 20:11:24
阅读次数:
134
```C++ class Solution { public: ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) { if(pListHead == nullptr) return nullptr; int len = 0; L... ...
分类:
其他好文 时间:
2018-08-25 20:01:58
阅读次数:
164
一、赋值运算符函数 题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数。 测试用例: 把一个CMyString的实例赋值给另外一个实例。 把一个CMyString的实例赋值给它自己。 连续赋值。 没有考虑异常安全性的解法: 考虑异常安全性的解法: 补:在新的代码中,我们在CMyS ...
分类:
其他好文 时间:
2018-08-23 00:34:15
阅读次数:
154
C++有几种复合类型,包括常见的两种:引用和指针。 1.引用 使用术语“引用”时,指的其实是“左值引用”。 引用类型引用另外一种类型。 int ival = 1024; int &refVal = ival; refVal 指向ival int &refVal2; 报错:引用必须被初始化 ~~~~~ ...
分类:
其他好文 时间:
2018-08-21 15:59:55
阅读次数:
205