C++Int有效地字符串
C++ Int to String Efficiently
这是将int
转换为string
的有效方法吗?
int(int input) {
int myNumber = input;
string myString = "";
while (myNumber > 0) {
myString += char(myNumber % 10 + 48);
myNumber /= 10;
}
//reverse
string result = "";
for (int i = myString.size() - 1; i >= 0; i--) {
result += myString[i];
}
return result;
}
如果没有,有没有更有效的方法可以在不使用任何额外库的情况下做到这一点?
C++在标准库中有一个函数可以做到这一点。它是to_string
。
例如,您可以按照以下方式进行操作:
int a;
std::cin >> a;
std::string aStr = std::to_string(a);
如果可能的话,您应该始终尝试使用现有的函数。原因有很多:
- 效率。可能存在比标准库实现中使用的方法更有效的方法。然而,你经常会发现,通过优化代码的一部分,你实际上在另一个方面失去了效率。STL的开发人员试图平衡所有方面
- 错误倾向。你几乎可以保证你的代码中会有更多的bug,然后存在于STL的实现中
- 与其他代码的互操作性。如今,我们很少写一些自己使用的东西。大多数时候,我们想要的代码实际上可以与系统的另一部分一起工作。编写自己的标准函数实现可以很容易地破坏整个系统
- 未来的改进。随着标准的成熟,如果您使用标准函数,您的代码将开始更好地工作。但如果你用自己的。。。那么谁知道会发生什么呢
相关文章:
- 如何有效地将一个大std::字符串的一部分转换为float
- C++Int有效地字符串
- 如何更有效地计算n个字符串之间的不匹配分数?
- 有效地从文本文件中读取带有字符串索引的大型二维数组(矩阵)
- 字符串或const char*,更有效地用作构造函数参数
- C ++有效地获取带有索引的字符串的子字符串
- 有效地生成字符串所有可能子字符串的列表
- 如何在处理传统C字符串的C样式函数中有效地使用std::string
- 如何有效地用不同的整数元素替换字符字符串的元素
- 如何有效地获取"std::string"子字符串的"string_view"
- 尝试在C++中有效地存储重复的子字符串
- 如何有效地将数字字符串值分配给整数
- 如何向后读取文件以有效地查找子字符串
- 如何在C++中有效地提取字符串模式
- 如何在点上拆分字符串并有效地提取所有字段
- 如何在 C 中有效地存储字符串的映射
- 如何在C++中有效地使用字符串data_type
- C++,linux,如何有效地从字符串中弹出非拉丁字符pop_back()
- 如何在c++中仅针对键的子集有效地比较两个字符串映射
- 有效地过滤文本字符串中的单词