2 qq 33669059 qq_33669059 于 2016.03.06 12:46 提问

string为什么会死循环

for(string::size_type ix=str.size()-1;ix>=0;ix--) { cout<<str[ix];}

2个回答

caozhy
caozhy   Ds   Rxr 2016.03.06 12:52
已采纳

string::size_type是unsigned int,所以永远>=0

 #include <iostream>
#include <string>
using namespace std;
int main()
{
string str="1234";
for(string::size_type ix=str.size();ix>0;ix--) { cout<<str[ix-1];}
}
WinsenJiansbomber
WinsenJiansbomber   2016.03.06 13:02

caozhy 一针见血 unsigned int,所以永远>=0!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
为什么会陷入死循环
看似简单的一段程序如下: int main(){   int i,j[8];   for(i=0;i    j[i]=0;   return 0;}     在UNIX/Linux平台下,gcc编译运行会陷入死循环.      因为变量 i 和数组 j[8]是保存在栈中,默认是由高地址向低地址方向存储. 输出变量地址可以发现: i 存储位置在0xbfd90dec,j[0]、j[1]..
并发的HashMap为什么会引起死循环?
今天研读Java并发容器和框架时,看到为什么要使用ConcurrentHashMap时,其中有一个原因是:线程不安全的HashMap, HashMap在并发执行put操作时会引起死循环,是因为多线程会导致HashMap的Entry链表形成环形数据结构,查找时会陷入死循环。纠起原因看了其他的博客,都比较抽象,所以这里以图形的方式展示一下,希望支持! (1)当往HashMap中添加元素时,会
为什么死循环占用CPU高
文章出处:http://bbs.chinaunix.net/thread-1613560-1-1.html   为什么死循环占用CPU高 一个进程如果是死循环,那么占有的CPU会很高,可是操作系统时间片运行的,到了一定时间不是会自动切换到别的进程吗?即便是死循环,到时间还是
vfork为什么会出现死循环
#include #include #include int main(void) { pid_t id; id=vfork(); if(id==-1) return -1; if(id==0) { printf("%d:
Looper.loop死循环为什么不会卡死
1) Android中为什么主线程不会因为Looper.loop()里的死循环卡死? 这里涉及线程,先说说说进程/线程,进程:每个app运行时前首先创建一个进程,该进程是由Zygote fork出来的,用于承载App上运行的各种Activity/Service等组件。进程对于上层应用来说是完全透明的,这也是google有意为之,让App程序都是运行在Android Runtime。大多数情况一个
为什么Looper.loop()死循环不会导致ANR
为什么loop这个死循环会在主线程执行,不会ANR么? 答:最开始Android的入口ActivityThread里面的main方法,里面有一个巨大的Handler,然后会创建一个主线程的looper对象,这也是为什么直接在主线程拿Handler就有Looper的原因,在其他线程是要自己Looper.prepare()的。 其实整个Android就是在一个Looper的loop循环的,整个An...
为什么死循环占用CPU高[整理贴]
<br />恰巧遇见这中问题,故将网上帖子整理下~<br /> <br />////整理如下///////s<br />一个进程如果是死循环,那么占有的CPU会很高,可是操作系统时间片运行的,到了一定时间不是会自动切换到别的进程吗?即便是死循环,到时间还是会切换到别的进程,为什么占用CPU会高呢?<br /> <br />死循环的时候程序不像其它的程序那样可能在某处被阻塞,比如sleep了,等IO了....这些可能被阻塞的程序在进程睡眠期间都不会被唤醒的,不会占用CPU的,而死循环则不会让出CPU,所以表现
hashmap死循环原因总结
本文受http://pt.alibaba-inc.com/wp/dev_related_969/hashmap-result-in-improper-use-cpu-100-of-the-problem-investigated.html 的启发,引用了其中的思想,对此表示感谢。          来到杭州实习有一段日子了,很长时间都没有更新博客了,前几天,闲来无事,随便翻了一本书,毕玄的《
为什么在主线程的Looper.looper死循环不会卡死
public static void main(String[] args) { .... //创建Looper和MessageQueue对象,用于处理主线程的消息 Looper.prepareMainLooper(); //创建ActivityThread对象 //建立Binder通道 (创建新线程) thread.attach(false); Looper.loop(); //消息循环
IOS 懒加载,死循环
// 在getter方法中,不要再使用self. 否则会重复调用getter方法,造成死循环 - (UILabel *)noLabel {     if (_noLabel == nil) {         UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 20, self.view.boun