最近,当将一些STL代码移植到VS2008时,我想std::copy通过定义新_SCL_SECURE_NO_WARNINGS标志来禁用生成的警告.您可以通过两种方式执行此操作:
通过在包含相关STL标头之前定义宏样式,或者在stdafx.h中定义总体覆盖:
#define _SCL_SECURE_NO_WARNINGS
这两种方法都运行良好但我想知道是否有任何争论支持一方而不是另一方?
通过将它们放在项目文件中,您可以在平台特定警告和平台之间保持紧密关联,这对我来说似乎是正确的.
如果他们在代码中,他们总是在代码中,无论它是否适合该平台.对于GCC或可能的Visual C++未来版本,您不需要它.另一方面,通过在代码中使用它,更明显的是它就在那里.如果您移动(复制)代码,则更容易记住使用它移动该定义.
各方面的优点和缺点.因人而异.
| 归档时间: |
|
| 查看次数: |
9581 次 |
| 最近记录: |