21:将合法性检查与元素获取的返回语句分离开来,代码更清晰易读,当执行到第二条语句时,已确保p是存在的vector,curr是合法的位置,可安全地获取元素并返回。这种清晰的结构也更有利于修改不同的处理逻辑。
22:将构造函数定义为const即可
23:知识点1:大多数的应用应该使用标准库容器,而不是使用动态分配的数组
知识点2:用new分配的动态数组会返回一个元素类型的指针,而并未得到数组类型的对象
知识点3:动态数组并不是数组类型,不能调用begin()和end()函数,详见106页