什么C(98/03)功能不是很好的编译器支持?

通常我会读取一些软件,删除一些C功能,以符合可怜/老/异国情调的C编译器.

This one只是我进入的最后一个Box2D不使用命名空间,因为他们需要支持

poor C++ compilers where namespace support can be spotty

我可以想到的一个更大的例子是Qt,它依赖于MOC,限制了模板使用,并且避免了模板(而且,这至少对于Qt3和以前的版本来说是至关重要的,Qt4主要是为了遵守自己的惯例).

我想知道什么编译器是穷人?
lots of C++ compilers在那里(我从来没有听说过他们中的大多数),但我希望所有的人都支持最常见的(/简单的)C功能,如命名空间(除非他们死了);不是这样吗?

什么是最不受支持功能
我可以很容易地期待缺乏外部模板,也许模板部分专业化和类似功能.最多甚至是RTTI或例外,但我从来没有怀疑命名空间.

解决方法

在我的经验中,人们只是害怕新事物,特别是二十年前破坏的东西.在本世纪所写的任何东西中,没有任何有效的理由反对使用命名空间.

如果你正在寻找一些东西来折腾,那么如果你不是很久以前就是针对Windows,那么你不得不做更多的事情,而不仅仅是把C的功能抛出来,而不是使用它们,你必须使用不同的语法.模板被认为是VC中支持较差的功能之一.他们已经好多了,但仍然有时失败.

该特定编译器(STILL!)不支持的另一个编译器正在重载虚拟函数以将派生类型指针返回到使用MI时返回的基本版本的类型. VC只是很奇怪,你最终不得不做virtual_xxx()并提供非虚拟的“xxx()”函数来复制标准行为.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...