在C++中实现泛型的stringToVector函数可以通过以下步骤:
#include <iostream>
#include <vector>
template<typename T>
std::vector<T> stringToVector(const std::string& str, char delimiter)
{
std::vector<T> result;
std::stringstream ss(str);
std::string token;
while (std::getline(ss, token, delimiter))
{
T value;
std::istringstream(token) >> value;
result.push_back(value);
}
return result;
}
int main()
{
std::string str = "1,2,3,4,5";
char delimiter = ',';
std::vector<int> intVector = stringToVector<int>(str, delimiter);
for (const auto& value : intVector)
{
std::cout << value << " ";
}
return 0;
}
这个泛型的stringToVector函数可以将一个以指定分隔符分隔的字符串转换为一个泛型vector。在函数内部,我们使用std::stringstream和std::getline来将字符串分割成多个子字符串,并使用std::istringstream将子字符串转换为泛型类型T的值,然后将其添加到vector中。最后,我们在主函数中调用stringToVector函数,并打印结果。
这是一个基本的实现示例,你可以根据需要进行修改和扩展。关于C++的泛型编程和字符串处理,你可以参考C++的相关文档和教程来进一步学习和了解。
腾讯云相关产品和产品介绍链接地址:
云+社区技术沙龙[第1期]
云+社区技术沙龙 [第31期]
腾讯技术创作特训营第二季第3期
Hello Serverless 来了
serverless days
DBTalk技术分享会
云+社区技术沙龙[第8期]
领取专属 10元无门槛券
手把手带您无忧上云