jga*_*gaa 6 c++ visual-studio c++11
我正在玩Visual Studio 11的开发者预览版.
我偶然发现的一个缺点是std :: bind只支持4个函数参数.
我在C++ 11标准论文中找不到任何相关内容.是否定义了最小数量的参数,还是所有实现依赖?
在VC11中,您可以通过设置_VARIADIC_MAX来增加可变参数模板仿真方案使用的最大参数的数量.默认值为5.
请看:http: //blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx
如果您需要更多参数(例如,您使用VC9 SP1或使用6元组的VC10编译代码),则会有一个逃生舱.您可以在5到10之间的项目范围内定义_VARIADIC_MAX(默认为5).增加它会使编译器消耗更多内存,并且可能需要使用/ Zm选项为PCHes保留更多空间.
这是一些依赖于实现的值。如果超过参数数量,实现可能会崩溃或做一些其他愚蠢的事情。实际的 C++11 实现在这里使用可变参数模板(VC++ 还没有该功能),因此它们的限制对于每个人来说都足够了。
这是未定义行为的一种情况,超出了实现限制。这与您尝试将 1TB 文件输入编译器但内存不足没有什么不同。
| 归档时间: |
|
| 查看次数: |
2247 次 |
| 最近记录: |