vector<int> v = {10, 20, 30}; cout << *v.end(); 下列说法正确的是( )。 A. 输出 30:end() 指向最后一个元素 B. 输出 0:end() 处存的就是 0 C. 编译错误:end() 不是迭代器,不能加 * D. 未定义行为:end() 是最后一个元素后面的哨兵,解引用不受任何保证