我认为需要包含一些头文件以使用gcc(4.9)进行编译,
#include <algorithm> // for std::transform
#include <numeric> // for std::adjacent_difference
Run Code Online (Sandbox Code Playgroud)
但是,我发现它根本没有必要包含它们,我仍然可以称之为例如以下函数
std::adjacent_difference (V1.begin(), V1.end(), V2.begin());
std::transform(V2.begin(), V2.end(), V3.begin(), V4.begin(), std::divides<double>());
Run Code Online (Sandbox Code Playgroud)
也许我误解了包含头文件的机制......任何提示?
标头通常包含其他标头.标题x包含的标题将包含在包含x的任何文件中.一旦你掌握了包含另一种方式的文件的内容,这应该是微不足道的.在这种情况下,其中一个标准标题恰好包含在另一个标题中.
标头包含的文件可以在版本之间更改.如果您没有包含必需的标题,那么您的程序可能会破坏另一个(版本的)标准库,即使它似乎在当前实现中有效.当然,这也适用于其他图书馆.