如何解决当处理vector <vector <float >>的size时,是vector <vector <float >> ::: size_type还是vector <float> :: size_type?
代码_1:
std::vector< std::vector<float> > grid (5,std::vector<float>(3,1));
std::vector< std::vector <float> >::size_type rows = grid.size();
或
code_2:
std::vector< std::vector<float> > grid (5,1));
std::vector<float>::size_type rows = grid.size();
我应该使用code_1还是code_2?为什么? 谢谢!
解决方法
鉴于std::vector< std::vector<float>>::size
返回类型为std::vector< std::vector <float>>::size_type
的值,为什么要使用它来初始化类型为std::vector<float>::size_type
的变量?
也就是说,它们是同一类型,因此差别不大。类型为std::size_t
,因此您最好使用std::size_t rows
。或者,如果您想避免出错,请让编译器使用auto
来推断变量的类型。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。