我有一个以摄氏度为单位的向量。我应该如何创建一个新的向量来存储转换后的温度(使用静态公式转换)在华氏温度?
我认为会有比使用循环更好的方法。
您可以使用std::transform
std::transform(inputVector.begin(), inputVector.end(), std::back_inserter(outputVectot), CToF)
CToF
将温度从摄氏度转换为华氏度的函数在哪里
在 C++11 中,您可以编写 lambda -
std::transform(celVector.begin(),
celVector.end(),
std::back_inserter(fahVector),
[](double c) -> double { return c * 1.8 + 32; });
您可以将 std::transform 与 std::back_insert_iterator 一起使用
大多数人都在提到std::transform
哪个很棒,尤其是 Mahesh 的回答很棒。但是,您可能还需要注意,在这种情况下,C++11 for 循环实际上更短,并且可以说更具可读性,因为您有这样一个简单的转换:
for (auto c : celVector) fahVector.push_back(c * 1.8 + 32);