草庐IT

return_sequences

全部标签

c++ - C++ string erase return *this 是什么意思?

所以C++字符串函数string&erase(size_tpos=0,size_tn=npos)返回*this。那是什么意思?为什么我需要它来返回任何东西?例子stringname="jimmy";name.erase(0,1);将删除j并变成immy,但为什么我需要它来返回任何东西? 最佳答案 用于方法链。例如,删除后,您可以在其上调用==来检查一些内容:stringname="jimmy";boolb=name.erase(0,1)=="immy"; 关于c++-C++stringe

c++ - 给出了在 C++ 中返回对象的各种方法,这些 return 语句中的每一个的潜在问题是什么

下面是包含各种返回语句的代码,并且都运行良好。编译器针​​对fun_ret_obj1抛出警告Test.cpp:Infunction‘myClass&fun_ret_obj1()’:Test.cpp:45:warning:referencetolocalvariable‘myObj’returned但输出似乎还不错。是偶然的吗?下面的任何return语句是否有任何问题?解释会很有帮助,谢谢#includeusingnamespacestd;classmyClass{public:inta;myClass(){a=10;}};myClass&fun_ret_add(){myClass*pt

C++程序返回int类型,为什么return -1返回255呢?

这个问题在这里已经有了答案:Returnvaluerangeofthemainfunction(7个答案)关闭7年前。请注意,我运行的是linux机器,尽管我认为在windows(或其他)机器上的结果没有什么不同。这是一个简单的问题-C++程序通常返回32位int。如果我返回-1,然后从终端打印结果,结果是255。这是为什么?我觉得链接这是我应该知道的,或者很多年前就应该注意到的-我以前从未真正使用过返回码,也从未想过它。测试C++程序:intmain(){return-1;}编译:g++main.cpp-oa.out运行:./a.out检查结果:echo$?结果:255我本以为会看到

c++ - 我什么时候应该用 'return 0' 结束 C++ 程序?

这个问题在这里已经有了答案:Whatshouldmain()returninCandC++?(19个回答)关闭8年前。我是C++新手,正在阅读一本名为BigC++的书。在本书中,到目前为止我看到的所有示例程序都以return0;在最终之前结束。我显然可以使C++程序在末尾没有return0;的情况下运行,所以我想知道它的目的是什么。我熟悉从java中的方法返回一些东西,但我不明白为什么intmain()需要在C++中返回0。更重要的是:在C++中,我应该始终以return0;结束我的main()吗?如果不需要,我什么时候需要,什么时候不需要?return0;告诉程序做什么?在相关问题中

c++ - 如何在编译时找出 integer_sequence 是否包含给定的数字?

给定:typedefstd::integer_sequenceallowed_args_t;和:templatevoidfoo(){static_assert(/*fireifargnotinallowed_args_t!*/)}我应该如何编写static_assert以使其在编译时尽可能便宜?我正在使用C++17。 最佳答案 你可能想使用:templateconstexprboolis_in(inti,std::integer_sequence){return((i==Is)||...);}typedefstd::integer_

c++ - 有没有办法绕过 "returning reference to local variable"问题?

我有一个作业练习。我几乎可以肯定他们问的方式是无法解决的。但是,如果你们对下面提到的问题有任何解决方案,我很感兴趣,因为它似乎经常发生。说明不长,下面分享给大家:AmatrixS∈Rn×nisskewsymmetricifitholdsthatS(Transpose)=−S.DerivefromtheclassSquareMatrixfromthelecturetheclassSkewSymmetricMatrix.Useavectoroflengthn(n−1)/2tostorethematrixentries.Implementconstructors,typecastingand

包含 return 的 C++ 宏表达式(就像 Rust 的 try!)

Rust有一个宏,它是一个表达式,可以计算出某个值,或者从函数返回。有没有办法在C++中做到这一点?像这样:structResult{boolok;intvalue;}Resultfoo(){...}#defineTRY(x)(auto&ref=(x),ref.ok?ref.value:return-1)intmain(){inti=TRY(foo());}不幸的是,它不起作用,因为return是一个语句而不是表达式。上面的代码还有其他问题,但它大致说明了我想要什么。有没有人有什么好主意? 最佳答案 感谢NathanOliver的l

c++ - 格式化 float : returning to default

在返回“默认格式”的意义上,我遇到了浮点值的格式问题。假设我有2个花车:floatf1=3.0f,f2=1.5f;std::cout将这些显示为:3-1.5现在,出于某种原因,我需要在std::cout上设置精度(用于其他打印):cout如果我再次打印我的两个float,这将导致:3.00-1.50现在我想恢复默认格式。在C++11之前,这似乎很困难(或者是吗?)。但是,谢谢,我现在有了这个新标志:std::defaultfloat.让我们试试:std::cout将打印:3-1.50。很好。哦,但是等等。假设我有:floatf1=444.0f,f2=444.5f;默认打印会显示:444

c++ - Rust 中的 "sequence point"/"sequenced-before"规则是什么?

Rust中的规则是什么,类似于这里描述的规则http://en.cppreference.com/w/cpp/language/eval_order对于C++?目前我凭经验发现,1)函数的参数按直接顺序求值2)所有有副作用的内置操作(=、+=、-=等)返回单位,因此很难(但可能)组成表达式,这将在C++中显示UB。一个例子:letmuta=1i;letb=2i;letc=3i;letd=(a=b)==(a=c);//Whatisa?(aisactually3)3)似乎函数调用的顺序与C++中的一样4)似乎内置操作的顺序就像它们是函数(方法)调用一样,即求值顺序与运算符优先级相关我的结论

ios - 转换矩形 :toView doesn't return expected window coordinates

目前,我正在尝试获取UIWebView的坐标。这个webView是viewControllerView的subview。viewController包含在UINavigationController中。状态栏和导航栏都在屏幕上。方向为纵向。View已模态呈现。状态栏的高度为20,导航栏的高度为44,我希望webView的框架(在窗口坐标中)的原点为(0,64),宽度为(320,416).但是,当我运行这条线时CGRectframe=[webView.superviewconvertRect:webView.frametoView:nil];我得到(0,0)的原点和(320,416)的宽