如何拆分字符串而不進行復制?提升拆分字符串
Q
提升拆分字符串
4
A
回答
0
使用Boost Split,你不能。拆分字符串而不復制它們的明顯(但醜陋的)方法是strtok
(或者,最好是strtok_s
)。
1
您可以使用在C++ 0x或C++ 98 TR1中定義的std::regex
--這會將迭代器返回到字符串中(好吧,無論如何,它都在一個門面後面) - 因此它不涉及複製字符串。 C++ 0x正則表達式支持提取匹配和分割(提取不匹配) - 因此它是strtok
的完全替代品,具有很多附加功能。
請參閱John Cook's webpage例如,wikipedia或video by Stephan T Lavavej。您可能需要使用boost::regex,直到C++ 0x得到更廣泛的實施;兩者兼容。
0
您可以使用類似於llvm::StringRef
的收件人,該收件人只是指向數組和大小的指針,並且不會爲底層序列提供增變。
但是,這意味着重新編碼自己的拆分邏輯。
相關問題
- 1. Elisp拆分字符串函數來拆分字符串。字符
- 2. C#拆分字符串 - 將字符串拆分爲數組
- 3. 拆分字符串在字
- 4. 將字符串拆分爲字符串
- 5. 將字符串拆分爲字符串
- 6. 從字符串拆分字符串
- 7. PHP拆分字符串
- 8. Python字符串拆分
- 9. Python字符串拆分
- 10. ArrayIndexOutOfBoundsException在拆分字符串
- 11. 拆分後的字符串
- 12. 如何拆分字符串?
- 13. Cocoa-Touch字符串拆分
- 14. 拆分字符串在python
- 15. PHP拆分字符串
- 16. Python的字符串拆分
- 17. 字符串拆分問題
- 18. 如何拆分字符串?
- 19. 拆分一個字符串
- 20. Python字符串拆分
- 21. 將字符串拆分爲「|」
- 22. 拆分字符串值c#
- 23. PHP - 拆分字符串
- 24. 拆分字符串數組
- 25. 字符串拆分比較
- 26. .NET字符串拆分()
- 27. MySQL字符串拆分
- 28. 拆分基於字符串
- 29. Sparklyr拆分字符串
- 30. SparkSQL拆分字符串
我以爲你可以使用boost的iterator_range類型。 – user12232 2011-01-29 09:50:32