对于保证的单个字符,使用' char '还是' string '更好
For a guaranteed single character, is it better to use `char` or `string`?
我有一个变量,保证是单个字符(std::string
的子字符串)。
我强烈怀疑使用char
更有效,即
char c = name.c_str()[offset];
而不是更复杂(和昂贵)的
std::string c = name.substr(offset, 1);
我不打算对结果字符进行任何密集操作(只有一条switch
语句)。
在这种情况下使用char
可能更好,假设您希望存储它并在以后经常处理它,否则您可以使用operator[]
直接访问string
单个char
。需要注意的一点是,std::string
实现了所谓的短字符串优化,这应该非常快。但无论如何,你应该配置你的代码,除非你需要一个std::string
(例如在其他一些函数中传递),你应该只使用char
。
相关文章:
- enum是C++中的宏变量还是整数变量
- 为char数组调整zlib-zpipe
- 使用strcpy将char数组的元素复制到另一个数组
- 如果我只是不访问queue_front节点的子节点,而是将它们推到队列中呢?还是BFS吗
- 为什么 Serial.println(<char[]>);返回随机字符?
- C++ - 确定 const char* 是指向字符串文本对象还是动态对象
- 我应该使用 wchar 还是 char 来加密?
- char p[0]表示自动分配的缓冲区还是安全指针
- 通过 char* 缓冲区读取 int 的行为是不同的,无论是正数还是负数
- C++ 检查 char 是元音还是辅音的最快方法
- C++中的字符串生产者/消费者:std::d eque<char> 还是 std::stringstream?
- C++-char**作为函数参数传入,应该是调用方分配的还是被调用方
- 矢量<string>还是矢量<矢量<char>>?
- 在编译时检查类型是char还是wchar_t
- 使用char还是unsigned char数组存储原始数据更好?
- 如何检查单个字符串输入的部分是int还是char
- 判断const char*是字符串字面值还是变量
- 代码中的文本是char还是const char
- 如果我想将字符提升为 int,我应该使用 static_cast(char 变量<int>)还是 +(char 变量),为什么?
- 对于保证的单个字符,使用' char '还是' string '更好