layout: post title: "stl" subtitle: "stl" date: 2019-06-10 20:30:33 author: "none" header-img: "img/posts/default_post.jpg" catalog: true tags: - tag
vector
push_back 和 emplace_back
emplace_back会原地对参数进行构造, push_back要么会拷贝参数,要么会构造后需要移动操作
clear
clear 后vector的size=0, 但capacity不变
如何改变vector的capacity
vector<T>().swap(var)
var.shrink_to_fit()
文件读写
不要使用eof进行判断,会导致循环多一次
#include <string>
#include <fstream>
int main() {
std::ifstream in_file("doc_id.txt");
if(!in_file.is_open()) return -1;
std::string line;
//while(!in_file.eof()) {
while(in_file >> line) {
std::getline(in_file, line);
}
}