5

由于各种原因,我正在定义一种新型容器。我想大多类似于std::vector的界面;碰巧的是,出于枚举目的,我可以分别离开wchar_t *wchar_t const*作为我的iterator类型和const_iterator类型。(这个容器是其他一些更大的数据结构之上的一个“视图”,恰好有一个矢量兼容的接口)

但是,如果我这样做std::copy,除非他们定义_SCL_SECURE_NO_WARNINGS. 这是一件好事——MSVC++ 的检查迭代器功能可以保护用户免受调试模式下的各种错误的影响。我希望通过在需要的地方实施此类检查功能来与此功能兼容。这留下了几个问题:

  1. VC 的stdext::checked_iterator类在其构造函数中接受一个容器。该容器是否必须是内置 STL 容器类型之一?
  2. 如何在 is 时禁用已检查的迭代_ITERATOR_DEBUG_LEVEL0
  3. 我怎样才能做到这一点,使容器可以移植到其他没有检查迭代器的编译器?(如果可能的话,我想避免两次实施整个事情)

升压解决方案没问题。

4

0 回答 0