nullptr
null是一个“清单常量”#definec 中的一个
NULL是一个“清单常量”(#defineC 中的一个),它实际上是一个整数,可以通过隐式转换分配给指针。 nullptr是表示自定义类型值的关键字,可以转换为指针,但不能转换为整数。 这对于解决泛型编程中可能出现的歧义很重要: 为避免调用一个函数而不是另一个函数的风险,0如果需要整数和nullptr指针,请始终使用
二叉查找树又称二叉排序树,它要么是空树
二叉查找树又称二叉排序树,它要么是空树,要么是具有下列性质的二叉树: 每个节点都有一个作为查找依据的关键码。所有节点的关键码互不相同; 若它的左子树不为空,则左子树上所有节点的关键码均小于根节点的关键码; 若它的右子树不为空,则右子树上所有节点的关键码均大于根节点的关键码; 它的左、右子树也是二叉查找树。 若二叉查找树的根节点的指针为空,则查找不成功;否则进行一下的操作: 若给定值等于根节点的关键码,则查找成功,返回指向需要查找元素的指针; 若给定值小于根节点的关键码,则继续在根节点的左子树上进行递归查找; 若给定值大于根节点的关键码,则继续在根节点的右子树上进行递归查找; 二叉查找树的递归查找算法实现代码如下: 由于递归算法的执行效率较低,因此可以改用非递归的算法实现二叉查找树
可复制类有默认构造函数就能保证:如果一个具体类是可复制的
可复制类有默认构造函数就能保证:如果一个具体类是可复制的,它也就满足其他的“半正则”条件。 很多语言和库工具依赖默认构造函数初始化其元素。如果类是可复制的,默认构造函数经常能把定义移动状态的任务进行简化