c++ split 实现
std::vector<std::string> split(const std::string& s, char delim) { std::vector<std::string> elems; std::istringstream iss(s); std::string item; while (std::getline(iss, item, delim)) { elems.push_back(item); } return elems; }
在C++中,引用被用来定义一个已经存在的对象的别名。当你有一个对象,你想在函数中使用它,而不是复制它,你可以传递该对象的引用。
引用参数在函数内部对参数进行修改时非常有用,因为它会修改原始对象,而不是一个复制品。
在这个例子中,const std::string& s
是一个引用到 const std::string
的对象。它用于传递一个 std::string
对象的引用,而不是复制整个对象。由于它是 const
,所以函数内部不能修改这个对象。
总的来说,使用 const std::string&
而不是 std::string
作为参数类型可以提高性能(特别是当字符串非常大时),
因为它避免了对象的复制。同时,使用 const
可以保证函数不会修改传入的字符串,这有助于确保代码的正确性。