Rém*_*émi 12 c++ coding-style std-pair
我的印象是,定义自己的结构总是更好,这样我就可以使用有意义的字段名而不是first和second.
标准使用的一个地方std::pair是访问元素std::map.first是关键和second价值.拥有一个特定的key_value_pair模板并不是更好,并将其字段称为key而value不是first和second?在我看来,这将使代码更加可读,免费.
Mat*_* M. 10
当我需要一个包含2个或更多对象的本地包时,我通常使用对(和元组).
主要用例是函数的返回类型:C++不允许返回多个值,但允许返回具有多个字段的结构.我更喜欢使用一对或元组,而不是使用输出参数.
第二个用例是用于元素的临时存储; 例如,自动将产生operator<对
struct A { int a; int b; int c; };
Run Code Online (Sandbox Code Playgroud)
你可以这样写operator<:
bool operator<(A const& left, A const& right) {
return std::tie(left.a , left.b , left.c )
< std::tie(right.a, right.b, right.c);
}
Run Code Online (Sandbox Code Playgroud)
它自动生成一个正确的字典顺序(很多人搞砸了那些操作员......).