[英]Assign a vector from another
我有一個向量,其溫度為攝氏溫度。 我該如何創建一個新矢量,將華氏溫度存儲轉換后的溫度(使用靜態公式轉換后的溫度)?
我認為有比使用循環更好的方法。
您可以使用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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.