我有一个用户估算的字符串,例如“5 6.3 foo 2.1”。字符串中的每个单词或数字,如 5 或 6.3,都可以有不同的类型。我想以最省时的方式(以线性时间)将这个用户输入的字符数组转换为元组。我不知道字符串中的单词或数字的数量,所以我事先不知道元组中应该有多少元素。我所知道的是元组的长度将小于预定义的限制,假设它是 10000 个元素。我相信 std::tuple_cat 函数可用于执行类似数组的连接,并且我可以使用它将每个元素一个一个地添加到元组中。我不喜欢这个主意,因为如果 std::tuple_cat 像数组连接一样工作,那么每次调用 tuple_cat(n 平方时间)时,都需要复制容器中的每个元素。我更愿意为元组保留或预分配一个内存空间,例如,100kb,并且添加到元组的新元素被放入这个预分配的内存空间,而不必复制任何其他元素. 有没有办法在线性时间内将我的用户输入的字符串变成一个元组?
user2287171
问问题
707 次