C++随笔

(1)注意find不属于vector的成员,而存在于算法中,应加上头文件#include <algorithm>;

(2)front()是vector中的,“A reference to the first element in the vector object. If the vector is empty, the return is undefined.”,map中没有;

(3)map中first不是函数不用“()”,p是指针 p->first就行了;

(4)true,false是标准C的定义,0为false,非0为true。

TRUE和FALSE是VC里的宏的定义,
#define TRUE  1
#define FALSE 0

(5) null也是定义为0,

从数学上说,false,FALSE、0、NULL都是相同的值。
但是我们仍然定义了这些玩意,而不是用0代替它们。
这需要我们从语意上去看待它们。
bool的语意是表示某个东西的状态只能是true或false,绝对不会有第三种状态。
BOOL,这是一个神奇的东西,除了能够表示TRUE和FALSE外,还能表示其他N种状态。
0,是一个整数。
NULL,作为指针的一个可能值,表示指针不指向任何对象或内容。

原文地址:https://www.cnblogs.com/rednodel/p/4281570.html