c++ - _SECURE_SCL 通常在哪里找到?

标签 c++ visual-c++ visual-studio-2005

我确信我在使用 Visual Studio 2005 构建的项目中存在一些 std::vector 边界问题。根据 Microsoft documentation ,我可以使用 _SECURE_SCL 控制边界检查。它向我保证它是默认启用的 - 由某处的 #define _SECURE_SCL 1 提供。我当然找不到它,如果我将该定义放入 stdafx.h,它不会与任何内容发生冲突。我错过了什么吗?使用 _SECURE_SCL 的“正常”方式是什么?

最佳答案

默认情况下,它在头文件中定义 yvals.h .

  • 如果两者都是_ITERATOR_DEBUG_LEVELHAS_ITERATOR_DEBUGGING未定义,HAS_ITERATOR_DEBUGGING默认为 1在调试版本中。
  • 如果_SECURE_SCL未定义,HAS_ITERATOR_DEBUGGING定义为 1 , _SECURE_SCL默认为 1

如果_ITERATOR_DEBUG_LEVEL,不同的规则开始发挥作用被定义为。有关详细信息,请参阅头文件。

关于c++ - _SECURE_SCL 通常在哪里找到?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26330958/

相关文章:

c# - 我可以在不创建 DLL 的情况下使用同一项目中的 UserControl 吗?

c# - 当前上下文中不存在名称 'controlname'

c++ - Win32 C++ 在类中创建窗口和过程

c++ - 通过引用捕获异常时不会创建临时对象?

c++ - C++ 中的异步线程

C++模板类继承

c++ - 可以动态填充 Visual Studio 项目中的 C++ 文件列表吗?

c++ - 我的等待 - 使用 std::mutex 的通知机制是否正确?

c++ - 检测(无意义的)分配给临时对象

c++ - 使用 MSVS 避免模板化特征函数中的模糊参数