我有一个遗留代码,它接收一些专有代码,对其进行解析并创建一堆静态字符数组(嵌入在表示消息的类中),以表示 NULL 字符串。之后,指向字符串的指针被四处传递,最后被序列化到某个缓冲区。
分析表明str*()
方法需要很多时间。
因此,我想使用memcpy()
是否可能。为了实现它,我需要一种将长度与指向 NULL 终止字符串的指针相关联的方法。我想:
使用
std::string
看起来效率较低,因为它需要内存分配和线程同步。我可以使用
std::pair<pointer to string, length>
. 但在这种情况下,我需要“手动”保持长度。
你怎么看?