![](/img/trans.png)
[英]Why/when should I use std::unique/shared_ptr (std::vector<>) over just std::vector<>?
[英]Why and When should I use std::pair
我知道我可以將兩種類型與std::pair
混合,但是使用std::pair
而不是我創建的類有什么區別?
它們各自的優點是什么,我為什么要使用 std::pair?
struct MyObject{
int a;
std::string b;
MyObject(int p_a,std::string p_b)
a:p_a , b:p_b
{
};
};
std::pair<int,std::string> DefaultPair=std::make_pair(20,"Default Pair");
//Why should I use this
MyObject MyPair(10,"My Custom Pair");
//When I can use this?
當類型是模板參數而沒有更好的名稱來賦予它們含義時,您應該使用std::pair
。 因為定義template <typename U, typename V> MyObject { U u; V v; };
template <typename U, typename V> MyObject { U u; V v; };
只是重復std::pair
。 如果可以的話,最好用有意義的成員名稱來定義自己的結構。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.