【发布时间】:2010-09-06 20:23:37
【问题描述】:
我在大学里了解到,你总是必须释放你未使用的对象,而不是你实际上是如何做的。例如,正确地构建您的代码等等。 是否有关于如何在 C++ 中处理指针的一般规则?
我目前不允许使用 boost。我必须坚持使用纯 C++,因为我使用的框架禁止使用任何泛型。
【问题讨论】:
-
我必须坚持使用纯 C++,因为我使用的框架禁止使用任何泛型。 这个决定背后肯定有理由吗?我很想听听它,因为我想不出任何完全禁止模板的理由。
-
@KonradRudolph:对此的官方回答是:它们不能移植到不同的操作系统,尤其是编译器和链接编辑器支持它们的方式。跨度>
-
@AlexanderStolz:这是错误的。我的意思是,C++ 作为一个整体在不同的操作系统之间是不兼容的(大多数平台都有一个清晰且定义良好的 C ABI,而不是 C++,尤其是当你了解虚拟继承表示等细节时)。模板不会改变这方面的任何东西。实例化的模板只是具有有趣名称的类。编译器支持在几年前是一个紧迫的问题,但现在没有理由不使用 g++ 4.x 或 VC++ 2005/2008,这两种版本对于任何正常使用都绰绰有余。
-
太糟糕了,这太旧了。我很想听听关于为什么你不能使用(特别是)泛型的解释。
-
来自框架的文档:不要使用模板。它们不能移植到不同的操作系统,尤其是编译器和链接编辑器支持它们的方式。目前我只能说这些