我有一个函数,预计将通过const char *
. 如果我必须将每个字符复制到 a vector<char>
,执行操作的最佳(即:最有效)方法是什么?
我copy
在algorithm中考虑过,不确定它是否是更“优雅”的解决方案:
void
example
(const char * const s)
{
copy(s, s+strlen(s), myvector.begin())
}
(希望,鉴于我的“个人”缩进风格,代码对你来说仍然是可读的)
但我确信 STL 实现了一些允许我复制的东西,直到在字符串中找到一个空字符。
(如果您想知道为什么我会收到一个const char *
,那么,这是编译器在用户使用时态变量时创建的类型,并且我的函数预计会被称为example("fvh")
。欢迎使用替代解决方案)
提前致谢。最好的问候, Kalrish
编辑:
在尝试了@ipc 和@juanchopanza 所说的之后,我觉得很愚蠢:它就像一个魅力。
仍然不确定我是否会失去性能,但无论如何,编译器都会进行隐式转换,而且它是纯 C++,所以这绝对是要走的路。
非常感谢,也很抱歉。祝你好运,卡尔里什