仅使用C运行时库函数

时间:2015-10-10 15:00:57

标签: c++ stl

这很可能是一个愚蠢的问题,但我不能对我教授的笔记做出正面或反面,所以这里有:

我有一个在C / C ++中编写一个函数的赋值,它接受一个数组并将所有0的实例排序到数组的后面。但是,我只允许使用C标准运行时库,而不是STL或任何其他模板化容器。我不完全确定如何使用运行时库(它是我的第一个高级编程类,而我之前只使用过C ++)。

我是否必须为运行时库包含或使用命名空间?

包含<iostream> C ++会破坏这些规则吗?

如何使用C ++标准库?我知道它不是STL,但我不确定它是否算作一个模板化容器&#34;。

2 个答案:

答案 0 :(得分:3)

教授们在这里往往有点草率。我几乎可以肯定您可以使用标准库进行控制台I / O,例如iostreams或*printf

几乎可以肯定,他只是希望你避免使用qsortstd::sort这样的函数来完成任务,因为这会带走学习和实现算法的价值。

只要在数组上手动实现指定的排序,就可以了。

当然最安全的选择是与你的教授仔细检查,但我很确定这是他/她的意思。

答案 1 :(得分:1)

如果包含c库函数(xxxxx.h),则在导入根命名空间时不包含任何命名空间。

要执行实际排序,根本不需要库函数,尽管我可以想到一个可以调整的函数(qsort)。

要输入和输出,至少fgets和fput需要C stdio(参见stdio.h);虽然在这种情况下,如果您不必处理输入拼写错误,scanf和printf可能会更容易。如果你之前只做过C ++,那将是一个回归基础的时刻,让简单的IO工作。 C stdio很容易。这也很容易犯错误。