草庐IT

Do-While

全部标签

c++ - 为什么 myClassObj++++ 不会产生编译错误 : '++' needs l-value just as buildin type do?

为什么myint++++使用VS2008编译器和gcc3.42编译器编译得很好??我期待编译器说需要左值,示例见下文。structMyInt{MyInt(inti):m_i(i){}MyInt&operator++()//returnreference,returnalvalue{m_i+=1;return*this;}//operator++needit'soperandtobeamodifiablelvalueMyIntoperator++(int)//returnacopy,returnarvalue{MyInttem(*this);++(*this);returntem;}in

kotlin - 如何使用 Kotlin 在 `continue` 循环内的 `break` 语句中 `when` 或 `while`

这个问题在这里已经有了答案:HowdoIdoa"break"or"continue"wheninafunctionalloopwithinKotlin?(3个回答)关闭6年前。我正在将一个大型项目转换为Kotlin。有许多挑战。我学习Kotlin的新模式就是其中之一。希望有一种模式可以用来解决这个问题。这是我试图实现的代码。但是,continue和break在when语句中无效。while(!mStopped&&c.moveToNext()){valitemType=c.getInt()when(itemType){1,2->{doSomething()if(condition)con

kotlin - 如何使用 Kotlin 在 `continue` 循环内的 `break` 语句中 `when` 或 `while`

这个问题在这里已经有了答案:HowdoIdoa"break"or"continue"wheninafunctionalloopwithinKotlin?(3个回答)关闭6年前。我正在将一个大型项目转换为Kotlin。有许多挑战。我学习Kotlin的新模式就是其中之一。希望有一种模式可以用来解决这个问题。这是我试图实现的代码。但是,continue和break在when语句中无效。while(!mStopped&&c.moveToNext()){valitemType=c.getInt()when(itemType){1,2->{doSomething()if(condition)con

c++ - 什么 SAFESEH :NO option actually do

我正在尝试使用boost::asio::spawn函数,就像在example中一样,但它在Release中给我以下错误:libboost_context-vc120-mt-s-1_55.lib(jump_i386_ms_pe_masm.obj):errorLNK2026:moduleunsafeforSAFESEHimage很明显,我应该在项目设置中设置/SAFESEH:NO选项,但我不明白这实际上会做什么。这如何影响程序中异常处理的行为(C++异常和SEH)?顺便说一句,我正在使用MSVC-12.0。 最佳答案 简短回答:禁用Sa

c++ - 自动返回类型扣除警告 : why do we need decltype when return defines the type anyway?

这是一个关于elementsSize()成员函数做什么的问题,关于自动返回类型推导:#include#includetemplateclassElementVector{std::vectorelementVec_;//Otherattributes.public:ElementVector()=default;ElementVector(conststd::initializer_list&list):elementVec_(list){}autoelementsSize()//->decltype(elementVec_size()){returnelementVec_.size(

c++ - C++中while循环中的浮点错误

intmain(){floatx=k;//kissomefixedpositivevaluewhile(x>0)x--;return0;}上面的程序可以无限循环吗? 最佳答案 是的,这是可能的。以最大float为例。如这段代码所示,对于最大的floatm,m等于m-1:#include#includeintmain(){autom=std::numeric_limits::max();autol=m;l--;std::cerr演示:http://ideone.com/Wr9zdN因此,有了这个起始值,循环将是无限的。这是为什么?fl

c++ - 什么是 : throw 0 do/mean? 是 "bad"吗?

上下文我遇到了一些代码,像这样:if(Some_Condition)throw0;我用谷歌搜索了一下,发现了其他一些使用那种看起来很奇怪的throw0形式的代码片段。我想有人会这样理解:catch(constint&e){}或者这是一个NULLptr?被捕获为void*?问题这个throw0是做什么的?它在某些方面很特别吗?我通常的偏好是抛出(或派生自)std::exception的东西。所以对我来说这看起来“不好”。它是“坏的”吗? 最佳答案 一般throw可以抛出任何类型,任何你需要用这个类型或者它的基类型来捕获它。所以从技术上

c++ - 为 "while(true)"发出编译器警告而不为 "for(;;)"发出警告有什么意义?

当我使用带有“警告级别4”的VisualC++9编译C++代码时,出现以下情况:while(true){//loopbodywithbreakoncertaincondition}以及以下内容:for(;true;){//sameloopbody}两者都触发C4127:conditionalexpressionisconstant警告,但以下内容:for(;;){//sameloopbody}编译时没有警告。为什么会有这种差异,尤其是在第二个和第三个变体之间? 最佳答案 警告用户常量条件表达式的原因是为了帮助避免表达式最终变为常量的

windows - native 退出,代码为 : -1073741510 (0xc000013a) while using prime checker function

我一直在尝试创建我自己的素数检查器函数,虽然奇怪的是当我调用isPrime(7)时它返回1,这很好,但是当我调用isPrime(9)时它给我以下错误:“Mathematics.exe”:已加载“C:\DocumentsandSettings\mbryant\MyDocuments\VisualStudio2010\Projects\Mathematics\Debug\Mathematics.exe”,已加载符号。“Mathematics.exe”:已加载“C:\WINDOWS\system32\ntdll.dll”,无法找到或打开PDB文件“Mathematics.exe”:已加载“C

batch-file - Windows 脚本 : What and How to do this? 批处理文件或其他?

我想做的是在双击时在Windows中运行某种脚本(最好是.cmd文件/批处理文件),它应该在开始菜单中创建一个快捷菜单并在Windows注册表中设置一个路径(我想这就是它的名字)所以下一次,例如,我所要做的就是获取变量JAVA_HOME以获得我需要的路径。我在这方面需要的帮助只是关于如何做这些的例子,我应该看哪些教程,甚至在谷歌中搜索哪些关键术语(认真地),因为我对Windows编程非常陌生,以及什么用于什么等等.谢谢大家 最佳答案 如果您想要针对所有版本的Windows,您最好的选择是编写一个MS-DOS批处理文件(.bat)。这