簡體   English   中英

從另一個分配一個向量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM