c – 使用nullptr和零大小进行赋值

如果我有一个向量v,标准调用是否正常:

void setData(const uint8_t* p, size_t s) {
    v.assign(p, p+s);
}

setData(nullptr, 0);

一般来说,当距离(第一个,最后一个)== 0时,如上所述调用STL函数XXX(InputIterator first,InputIterator last)总是可以的.

最佳答案 是.将nullptr值复制到另一个指针对象是可以的,这就是所有实现都可能做到的.它已经被禁止超过结束(在这里定义为开始==结束)或取消引用它.

点赞