【发布时间】:2016-12-13 06:13:06
【问题描述】:
我有一个这样的字符串:
"CA: ABCD\nCB: ABFG\nCC: AFBV\nCD: 4567"
现在": " 将键与值分开,而\n 将配对分开。我想将键值对添加到 C++ 中的映射中。
考虑到优化,是否有任何有效的方法来做到这一点?
【问题讨论】:
-
您是否阅读过
std::string的手册页 -
使用例如
std::istringstream和std::getline可能是一个好的开始。请注意,std::getline可用于任意分隔符,而不仅仅是换行符。 -
也不要担心现阶段的优化。首先确保您的程序正常运行,然后通过 benchmark、measure 和 profile 找到瓶颈并优化它们。过早的优化只会让你误入歧途。
-
您可以“临时”实施它,然后您可以分析您的解决方案并找到可以根据需要优化的慢速地方。
-
在 SO 上,无法完成任务与要求(最)高效完成任务的方式之间存在很强的相关性。
标签: c++ dictionary