【发布时间】:2023-03-28 12:46:01
【问题描述】:
所以我四处寻找如何将字符串转换为短字符串,并找到了很多关于如何将字符串转换为整数的信息。我会留下一个问题作为对这些线程的评论,但我没有足够的声誉。所以,我想要做的是将一个字符串转换为一个短字符串,因为这个数字永远不应该超过三或低于零,并且短裤可以节省内存(据我所知)。
要清楚,我指的不是 ASCII 码。
我想做的另一件事是检查字符串到短字符串的转换是否失败,因为我将使用由用户输入组成的字符串。
我知道我可以使用 while 循环来做到这一点,但如果在 C++ 中有一个内置函数可以做到这一点,它的效率与 while 循环一样或更高,我很想听听。
【问题讨论】:
-
short s; std::istringstream strm("100"); strm >> s;不工作吗? -
shorts save memory我认为这里真正的问题是为什么你认为你需要节省内存? -
@timrau 哪个更有效,您提出的代码还是词法转换?
-
@user657267 我痴迷于程序效率仅仅是因为我是一个完美主义者。
-
@LarryK 一切都需要权衡,除非您使用具有这些类型的长数组/结构并且缓存来玩。您应该从使用
ints 开始,并且仅在分析表明您应该考虑其他内容时才考虑。在编程时,您应该首先考虑您的效率,是否真的值得花时间去关注可能几乎没有影响的问题?