草庐IT

Do-While

全部标签

c++ - "We do not use C++ exceptions"- 有什么替代方案?让它崩溃?

"WedonotuseC++exceptions."如果不使用异常,出现错误时会发生什么?你就任由程序崩溃? 最佳答案 不,另一种方法是做人们多年来在C中所做的事情......您返回一个错误状态代码,指示函数是否成功,并且根据它可能失败的方式,您可能会遇到一个或多个输出参数,您可以在其中指示失败的方式(或者您将失败的类型合并到错误状态代码中,这也是逐案处理的事情)。 关于c++-"WedonotuseC++exceptions"-有什么替代方案?让它崩溃?,我们在StackOverflo

c++ - 带有空主体的while循环检查 volatile 整数-这是什么意思?

我正在查看具有以下几行的C++类:while(x>y);returnx-y;x和y是volatileint类型的成员变量。我不明白这个结构。我在这里找到了代码stub:https://gist.github.com/r-lyeh/cc50bbed16759a99a226.我猜它不能保证正确甚至有效。 最佳答案 自从x和y已被声明为volatile,程序员希望它们会从程序外部进行更改。在这种情况下,您的代码将保留在循环中while(x>y);并将返回值x-y从外部更改值后,x.在您告诉我们更多有关您的代码以及您在哪里看到它之后,可以猜

c++ - 用于检测分号终止的 C++ for 和 while 循环的正则表达式

在我的Python应用程序中,我需要编写一个正则表达式来匹配以分号(;)。例如,它应该匹配这个:for(inti=0;i...但不是这个:for(inti=0;i这乍一看似乎微不足道,直到您意识到左括号和右括号之间的文本可能包含其他括号,例如:for(inti=funcA();i我正在使用python.re模块。现在我的正则表达式看起来像这样(我留下了我的评论,以便您更容易理解):#matchanylinethatbeginswitha"for"or"while"statement:^\s*(for|while)\s*\(#matchtheinitialopeningparenthes

c++ - 在 C/C++ 中为什么 do while(expression);需要半冒号吗?

我的猜测是它只是让解析更容易,但我不明白为什么。那么这有什么...do{somestuff}while(test);morestuff这比……好do{somestuff}while(test)morestuff 最佳答案 因为你要结束陈述。语句以block(由花括号分隔)或分号结束。“dothiswhilethis”是一条语句,不能以block结尾(因为它以“while”结尾),所以它需要一个分号,就像任何其他语句一样。 关于c++-在C/C++中为什么dowhile(expressio

c++ - 'while' 和 'for' 循环的范围是什么?

while和for循环的范围是什么?例如,如果我在循环中声明了一个对象,它的行为是什么,为什么? 最佳答案 在以下示例中,除了i之外,所有变量都在循环的每次迭代中被销毁并重新创建,i在循环迭代之间持续存在并且可用于for循环中的条件表达式和最终表达式。在循环之外没有任何变量可用。for循环体内的变量在i递增之前销毁。while(inta=foo()){intb=a+1;}for(inti=0;i至于为什么;循环实际上只为它们的主体使用一个语句,只是碰巧有一个由花括号创建的称为复合语句的语句。在任何复合语句中创建的变量的范围仅限于复合

c++ - 跳出 block : do destructors get called?

考虑以下代码:voidfoo(){{CSomeClassbar;//Somecodehere...gotolabel;//andhere...}label://andhere...}会调用bar的析构函数吗? 最佳答案 C++标准说:Onexitfromascope(howeveraccomplished),destructors(12.4)arecalledforallconstructedobjectswithautomaticstorageduration(3.7.2)(namedobjectsortemporaries)th

c++ - C/C++ : How to use the do-while(0); construct without compiler warnings like C4127?

我经常在我的#defines中使用do-while(0)结构,原因描述为inthisanswer。.此外,我正在尝试使用编译器的尽可能高的警告级别来捕捉更多潜在问题,并使我的代码更加健壮和跨平台。所以我通常将-Wall与gcc和/Wall与MSVC一起使用。不幸的是,MSVC提示do-while(0)构造:foo.c(36):warningC4127:conditionalexpressionisconstant我应该怎么处理这个警告?只是对所有文件全局禁用它?对我来说这似乎不是一个好主意。 最佳答案 总结:在这种特殊情况下,此警告

c++ - 有没有办法缩短这个while条件?

while(temp->left->oper=='+'||temp->left->oper=='-'||temp->left->oper=='*'||temp->left->oper=='/'||temp->right->oper=='+'||temp->right->oper=='-'||temp->right->oper=='*'||temp->right->oper=='/'){//dosomething}为了清楚起见:temp是指向以下node结构的指针:structnode{intnum;charoper;node*left;node*right;};

javascript - YouTube iframe API : how do I control an iframe player that's already in the HTML?

我希望能够控制基于iframe的YouTube播放器。该播放器已经在HTML中,但我想通过JavaScriptAPI控制它们。我一直在阅读documentationfortheiframeAPI其中解释了如何使用API向页面添加新视频,然后使用YouTube播放器功能对其进行控制:varplayer;functiononYouTubePlayerAPIReady(){player=newYT.Player('container',{height:'390',width:'640',videoId:'u1zgFlCw8Aw',events:{'onReady':onPlayerReady

javascript - AngularJS : How do I switch views from a controller function?

我正在尝试使用AngularJS的ng-click功能来切换View。我将如何使用下面的代码执行此操作?index.htmlclickmecontroller.jsfunctionCntrl($scope){$scope.someFunction=function(){//codetochangeview?}} 最佳答案 为了在不同的View之间切换,您可以直接更改window.location(使用$location服务!)index.html文件editpreviewController.jsfunctionCntrl($sco