一直以来虽然写的都是C++的代码但是基本上用的都是C的数据结构。这次实现一个相对大型的C++项目,发现了很多很有用的数据结构,通过使用这些数据结构,可以极大程度的提高开发效率。所以计划从实用的角度逐渐整理下C++中的数据结构以及他们的用法,以供自己以及小白参考。暂时不涉及时间性能。
std::string
std::string str = "aaa"; //初始化
str += "b"; // 可以直接做字符串拼接,比 char* 的使用简单很多
std::vector
std::vector<int> vec;
std::vector<int> vec(3); // 深度为3的整型数据
std::vector<int> vec(3, 1); // 深度为3的整型数据,初始化为1
vec.size() // 获得vec中元素的个数,也就是size(尺寸)
vec.push_back(2); // push 2到vec末尾中,深度增加1
vec.resize(5) // 重新设置vec的size,我一般是增加size,此时原有数据是不改变的,相比push_back()一个个的增加数据,这样做的效率会高一些。
vec.data() // 返回一