i ++或++ i更适合此程序吗?

奥斯汀·帕克

我正在尝试创建一个程序来检查输入是否为int或字符串。

这是代码:

// CPP program to check if a given string 
// is a valid integer 
#include <iostream> 
using namespace std; 
  
// Returns true if s is a number else false 
bool isNumber(string s) 
{ 
    for (int i = 0; i < s.length(); i++) 
        if (isdigit(s[i]) == false) 
            return false; 
  
    return true; 
} 
  
// Driver code 
int main() 
{ 
    // Saving the input in a string 
    string str = "6790"; 
  
    // Function returns 1 if all elements 
    // are in range '0-9' 
    if (isNumber(str)) 
        cout << "Integer"; 
  
    // Function returns 0 if the input is 
    // not an integer 
    else
        cout << "String"; 
} 

我想问问i ++或++ i对于此循环是否更好,为什么?

for (int i = 0; i < s.length(); i++) 
        if (isdigit(s[i]) == false) 
            return false;

谢谢!

瑞希特给他

我更喜欢++iC ++中的形式,因为它i可能是迭代器或其他带有重载的对象operator++在这些情况下,表单会i++生成一个临时对象来保存的先前值i,而表单++i不会。编译器可能会优化掉该临时对象,但这不是必需的,在某些情况下可能不允许这样做。

因此,由于前者无需保留初始值并重新检查它,因此++i它略胜于i++后者。它是极少数同时发生时间优化和内存优化的实例之一。但是差异太小了,无法注意到,只有4个字节。而且,时间差可以忽略不计。

在示例中,您基本上会得到相同的答案,但使用时可能会花费一分钟的时间和内存优化++i

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

哪种类型的线程更适合计算密集型并行应用程序和 I/O 密集型并行应用程序?

来自分类Dev

JSON模型格式更适合THREE.js吗

来自分类Dev

JSON模型格式更适合THREE.js吗

来自分类Dev

*(x + i)与&x [i]相同吗?

来自分类Dev

是a ^ i ^ 2 | i> = 1常规吗?

来自分类Dev

Python I / O错误:如何为带有空格的文件路径修复此程序?

来自分类Dev

Python I / O错误:如何为带有空格的文件路径修复此程序?

来自分类Dev

for(i = 0; i <10000000000; ++ i)编译为无限循环吗?

来自分类Dev

* s等于s [i]吗?

来自分类Dev

“ a +++ i”等于“(a ++)+ i”

来自分类Dev

是arr [i] = i; 法律?

来自分类Dev

性能:if(i == 0)与if(!i)

来自分类Dev

哪个查询更适合分页?

来自分类Dev

哪个更适合日志分析

来自分类Dev

什么更适合保存列表?

来自分类Dev

for (let i in string) {} 等价于 for (let i = 0; i < string.length; i++) {} 吗?

来自分类Dev

原语的字面量vs构造方法符号,更适合初学者吗?

来自分类Dev

IBM i RPG编码程序

来自分类Dev

BFQ I / O调度程序

来自分类Dev

IBM i RPG编码程序

来自分类Dev

Java I / O文件程序

来自分类Dev

在C中,{a [i] = a [++ i]}等于{a [i] = a [i + 1]; i ++;}?

来自分类Dev

我可以使用emscripten在i386模式下编译应用程序吗?

来自分类Dev

i3的分配可以用于将程序移至暂存器吗?

来自分类Dev

Activiti与Imixs哪种工作流程更适合与现有应用程序集成?

来自分类Dev

哪个Cassandra版本更适合生产部署?而哪个Cassandra驱动程序更好?

来自分类Dev

服务器端语言比其他语言更适合基于angularJS的应用程序?

来自分类Dev

哪个数据库更适合双语字典移动IOS应用程序?

来自分类Dev

哪个Cassandra版本更适合生产部署?而哪个Cassandra驱动程序更好?

Related 相关文章

  1. 1

    哪种类型的线程更适合计算密集型并行应用程序和 I/O 密集型并行应用程序?

  2. 2

    JSON模型格式更适合THREE.js吗

  3. 3

    JSON模型格式更适合THREE.js吗

  4. 4

    *(x + i)与&x [i]相同吗?

  5. 5

    是a ^ i ^ 2 | i> = 1常规吗?

  6. 6

    Python I / O错误:如何为带有空格的文件路径修复此程序?

  7. 7

    Python I / O错误:如何为带有空格的文件路径修复此程序?

  8. 8

    for(i = 0; i <10000000000; ++ i)编译为无限循环吗?

  9. 9

    * s等于s [i]吗?

  10. 10

    “ a +++ i”等于“(a ++)+ i”

  11. 11

    是arr [i] = i; 法律?

  12. 12

    性能:if(i == 0)与if(!i)

  13. 13

    哪个查询更适合分页?

  14. 14

    哪个更适合日志分析

  15. 15

    什么更适合保存列表?

  16. 16

    for (let i in string) {} 等价于 for (let i = 0; i < string.length; i++) {} 吗?

  17. 17

    原语的字面量vs构造方法符号,更适合初学者吗?

  18. 18

    IBM i RPG编码程序

  19. 19

    BFQ I / O调度程序

  20. 20

    IBM i RPG编码程序

  21. 21

    Java I / O文件程序

  22. 22

    在C中,{a [i] = a [++ i]}等于{a [i] = a [i + 1]; i ++;}?

  23. 23

    我可以使用emscripten在i386模式下编译应用程序吗?

  24. 24

    i3的分配可以用于将程序移至暂存器吗?

  25. 25

    Activiti与Imixs哪种工作流程更适合与现有应用程序集成?

  26. 26

    哪个Cassandra版本更适合生产部署?而哪个Cassandra驱动程序更好?

  27. 27

    服务器端语言比其他语言更适合基于angularJS的应用程序?

  28. 28

    哪个数据库更适合双语字典移动IOS应用程序?

  29. 29

    哪个Cassandra版本更适合生产部署?而哪个Cassandra驱动程序更好?

热门标签

归档