我正在开发一个项目,该项目应该使用以下语法从命令行中调用:
program-name input-file
这个程序需要处理输入数据,计算一些东西并将结果输出到标准输出。
我选择使用C++语言,因为有很多原因我不想讨论。计算阶段将会高度符号化(类似于编译器),并且使用相当复杂的动态分配数据结构。特别是,它不适合RAII风格的编程。
我在想,如果我预计整个计算过程消耗的内存比可用内存少,并且操作系统在程序结束后可以一次性回收所有内存(假设程序在几秒钟内终止),那么是否可以不考虑释放内存?你们对此有什么感受?
作为备选方案,如果我的项目需要作为服务器或交互式运行,我想总是可以在源代码中加入垃圾收集器。有人使用过C++的垃圾收集器吗?它们工作得好吗?