1
3
您可以使用std::find_if。
您也可以使用活页夹删除自由功能(尽管我认为活页夹很难阅读):
当,我只是注意到请求不要一个字节一个字节地做这个。尽管隐藏了,但仍然可以逐字节查找。尽管使用更大的类型会有所帮助,但您必须1比1完成此操作。这是我的最终版本。
这首先要检查数据是否足够长,使其值得使用更复杂的算法。我不是100%肯定这是必要的,但你可以调整什么是最低限度的必要。 假设数据足够长,它首先对齐开始和结束指针,以匹配用于进行比较的类型的对齐方式。然后,它使用新类型检查大量数据。 我建议使用:
|
2
2
没有内置的语言功能可以做到这一点,也没有标准的库函数可以做到这一点。
你自己写函数就行了,没那么难。如果这确实是您的应用程序的瓶颈(您应该只得出以下结论 分析 ,然后在程序集中重写该函数。 |
3
1
您标记了这个C++,因此可以使用指针作为迭代器,并使用STL算法。std::max。然后查看max是否为0。 |
4
0
你可以把你的指针
|
5
0
除了逐个检查所有元素之外,无法判断数组是否有除零以外的任何值。但是,如果您从一个数组开始,知道它都是零的,那么您可以维护一个标志来说明数组的零状态。
|
6
0
保留数组的元素0,设置为所有零。 使用memcmp比较两个元素中的对应范围。 |