草庐IT

move_member

全部标签

npm之报错:npm WARN deprecated @npmcli/move-file@2.0.1(一百五十九)

1.报错:npmWARNdeprecated@npmcli/move-file@2.0.1:Thisfunctionalityhasbeenmovedto@npmcli/fs2.解决#npmuninstall-g@angular/cli#npmcacheclean--force#npmcacheverify#npminstall-g@angular/cli

make 报错:’XX‘ is not a member of ‘std‘或者 ’XX‘ in namespace ‘std‘ does not name a template type 报错解决方法

Gazebo仿真时遇到的问题,可能情况之一是std标准库版本太低,可以通过在CmakeLists.txt中添加语句解决:set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-std=c++17")(根据自己实际情况修改,现在std的版本貌似已经到23了)

Android ACTION_MOVE 阈值

我正在编写一个应用程序,该应用程序涉及使用手指或手写笔在屏幕上书写。我有那部分工作。在ACTION_DOWN上,开始绘制;在ACTION_MOVE上,添加线段;在ACTION_UP上,完成行。问题是在ACTION_DOWN之后,指针显然需要从它开始的地方move超过10个像素(基本上是起点周围的20x20框)才能开始发送ACTION_MOVE事件。离开盒子后,move事件都非常准确。(我通过测试找出了10像素的东西。)因为这是用来写字或画画的,所以10像素是一个相当大的损失:取决于你想写的有多小,你可能会丢失第一个字母或两个。我还没有找到任何关于它的信息——只有一两个论坛上的几个帖子,

c++ - 为什么在 VC++ 调试器上计算表达式时会出现 "member function not present"错误?

我在另一个DLLMyDll.dll上有一个静态方法MyClass::myMethod()。在我的代码中,我调用了这个方法,它编译并运行良好。但是当我在即时窗口(或监window口)中尝试MyClass::myMethod()时,我总是得到:MyClass::myMethod()CXX0052:Error:memberfunctionnotpresent这是为什么?更新:我发现当我使用contextoperator它有效:{,,MyDLL}MyClass::myMethod()不过,我不太确定为什么需要它,所以我要稍等片刻,看看是否有人有很好的解释。更新2:我被要求提供更多信息。不幸的是

c++ - unique_ptr C++03仿真中的move函数

我正在尝试了解如何C++03emulationofunique_ptr实现。unique_ptr很像std::auto_ptr但更安全。在auto_ptr会隐式(即静默)转移所有权的情况下,它会吐出编译器错误。例如,一个简单的任务。函数move是模拟unique_ptr安全性背后的关键。问题:为什么有三个move函数?接受引用并将其转换为右值的第三个move函数实现(简化)如下。Tmove(T&t){returnT(detail_unique_ptr::rv(t));}在上面的代码中,到T的显式转换似乎没有必要。事实上,VisualStudio2010在没有显式转换为T的情况下非常满意

c++ - 如果从函数返回,局部变量的成员子对象也会被 move 吗?

C++11标准规定,如果满足复制省略的条件(§12.8/31),实现应处理一个returned局部左值变量和函数参数,首先作为右值(move),如果重载解析没有像详细描述的那样成功,则应将其视为左值(复制)。§12.8[class.copy]p32Whenthecriteriaforelisionofacopyoperationaremetorwouldbemetsaveforthefactthatthesourceobjectisafunctionparameter,andtheobjecttobecopiedisdesignatedbyanlvalue,overloadresolu

c++ - 不确定是否了解 move 构造函数的优势(或其工作原理或使用方式)

我最近在SE上发布了一个关于下面代码的问题,因为它产生了一个编译错误。有人好心地回答说,当您实现move构造函数或move赋值运算符时,默认的复制构造函数将被删除。他们还建议我需要使用std::move()来实现这样的功能:Imagesrc(200,200);Imagecpy=std::move(src);现在这对我来说很有意义,因为在这种情况下你想使用move赋值运算符或move构造函数这一事实必须明确。src在这个例子中是一个左值,没有什么可以告诉编译器你实际上想要将它的内容move到cpy除非你用std::move明确表达这一点。但是,我对这段代码有更多的问题:Imagecpy=

c++ - std::move_if_noexcept 的基本原理仍在 move 抛出仅 move 类型?

move_if_noexcept将:返回一个右值——促进move——如果move构造函数是noexcept或者如果没有复制构造函数(仅move类型)返回一个左值——强制复制——否则我发现这相当令人惊讶,因为具有抛出move-ctor的仅move类型仍将由使用move_if_noexcept的代码调用此move-ctor。是否对此给出了详尽的理由?(也许直接或在N2983的两行之间?)代码不编译而不是仍然不得不面对不可恢复的move场景会不会更好?N2983中给出的vector示例很好:voidreserve(size_typen){......new((void*)(new_begin

c++ - 组合两个复制和 move 的构造函数

目前,我的一个玩具类模板有两个看起来非常相似的构造函数:optional(constT&x){construct(x);}optional(T&&x){construct(std::move(x));}我能否将它们组合成一个构造函数模板,或者这会以某种方式改变语义吗?templateoptional(U&&x){construct(std::forward(x));} 最佳答案 抱歉,模板构造函数永远不会(被编译器认为是)复制构造函数。 关于c++-组合两个复制和move的构造函数,我们

c++ - 自 C++17 的类模板参数推导以来,std::make_move_iterator 是否多余?

从C++11开始,要将一些vectory附加到另一个vectorx,您可以这样做:x.insert(x.end(),std::make_move_iterator(y.begin()),std::make_move_iterator(y.end()));使用C++17类模板参数推导,可以更简洁地编写此代码:x.insert(x.end(),std::move_iterator(y.begin()),std::move_iterator(y.end()));从C++17开始,这不会使std::make_move_iterator变得多余吗?std::make_move_iterator(