0

たとえば、「5 6.3 foo 2.1」などのユーザー帰属文字列があります。5 や 6.3 など、文字列内の各単語または数値は、異なる型を持つことができます。このユーザーが入力した文字の配列を、可能な限り最も効率的な方法で (線形時間で) タプルに変換したいと考えています。文字列に含まれる単語や数字の数がわからないため、タプルに含まれるべき要素の数が事前にわかりません。私が知っているのは、タプルの長さが事前に定義された制限よりも短いということだけです.10000要素だとしましょう。std::tuple_cat 関数を使用して配列のような連結を実行でき、それを使用して各要素をタプルに 1 つずつ追加できると思います。std::tuple_cat が配列連結のように機能する場合、次に、コンテナ内のすべての要素を、tuple_cat(n 二乗時間) への呼び出しごとにコピーする必要があります。たとえば、100kb のメモリ空間がタプル用に予約または事前に割り当てられていて、タプルに追加された新しい要素が、他の要素をコピーすることなく、この事前に割り当てられたメモリ空間に配置されている場合は、 . ユーザーが入力した文字列を線形時間でタプルに変換する方法はありますか?

4

1 に答える 1