草庐IT

bad_weak_ptr

全部标签

android - 使用 ParcelFileDescriptor.createPipe() 将 InputStream 传输到另一个服务(跨进程边界)失败,返回 "EBADF (Bad file number)"

我想通过使用ParcelFileDescriptor.createPipe()将InputStream从一个Android服务“发送”到在不同进程中运行的另一个服务。,一个流到流的复制线程和一个ParcelFileDescriptor,代表管道的读取端,它通过BinderIPC提供给其他服务。发送代码(流程A)我想将给定的InputStream发送到接收服务:publicsendInputStream(){InputStreamis=...;//that'sthestreamforprocess/serviceBParcelFileDescriptorpdf=ParcelFileDes

android - GLSurfaceView EGL_BAD_ALLOC

我的程序在两个Activity之间切换,每个Activity都会膨胀一个使用VBO的派生GLSurfaceView。在两个Activity之间来回切换几次后,程序崩溃并抛出如下异常:Java.lang.RuntimeException:createContextfailed:EGL_BAD_ALLOCatandroid.opengl.GLSurfaceView$EglHelper.throwEglException(GLSurfaceView.java:1079)atandroid.opengl.GLSurfaceView$EglHelper.throwEglException(GLS

javascript - 教程错误 "validate_display:255 error 3008 (EGL_BAD_DISPLAY)"

我是javascript和android的新手,我想用SAPUI5编写一个多页面应用程序。为此,我找到了一个教程:https://sapui5.hana.ondemand.com/sdk/#docs/guide/df86bfbeab0645e5b764ffa488ed57dc.html效果很好,一直到演练-第8步。我的项目中有完全相同的源代码,但它不起作用。我收到以下错误:E/Zygote:MountEmulatedStorage()E/Zygote:v2E/SELinux:[DEBUG]get_category:variableseinfo:defaultsensitivity:NU

c++ - 我的程序泄漏了 boost::shared_ptr 拥有的资源

我看不出为什么我的程序会泄漏,也许你能发现它。typedefboost::shared_ptrStringPtr;typedefstd::pairWMapPair;typedefstd::mapWindowMap;//thiscallbackpopulatestheWindowMap(m_Windows)byaddingaWMapPaireachtimeBOOLCALLBACKEnumWindowsCallback(HWNDhWnd){//addsthiswindowtotheWindowMap,alongwithitstitletextBOOLbRetVal=FALSE;intnTe

c++ - BOOST_FOREACH 对 boost::shared_ptr<list> 的迭代

我正在做与此项目类似的事情CorrectBOOST_FOREACHusage?但是,我返回的列表包含在boost::shared_ptr中。如果我没有在BOOST_FOREACH循环之前将列表分配给变量,我会在运行时崩溃,因为列表正在被破坏,因为它是临时的。boost::shared_ptr>GetList(){boost::shared_ptr>myList(newlist());myList->push_back(3);myList->push_back(4);returnmyList;}然后……//WorksifIcommentoutthenextlineanditerateov

c++ - 在集合之间移动 `unique_ptr` s

我有两个集合和一个指向a元素的迭代器:set>a,b;set>::iteratoriter=findsomethingina;我想从a中删除iter指向的元素并将其插入到b中。可能吗?怎么办? 最佳答案 嗯,我怀疑没有正常的方法可以做到这一点。但总有一个不正常的:)您可以执行以下操作:autotmp=const_cast&&>(*iter);a.erase(iter);b.insert(std::move(tmp));好的,第一行违反了set不变性,这很可怕,但据我所知,这应该不是问题,因为在下一行我们从集合中删除了这个邪恶的节点。

c++ - 为什么显式模板实例化会在存在外线虚拟时导致 weak-template-vtables 警告?

[编辑以显示.cpp和hpp之间的拆分]//file.hppclassBase{public:virtual~Base(void);Base(void);Base(constBase&)=default;};templateclassDerived:publicBase{public:Derived(void);boolfunc(void);};//file.cpp#include"file.hpp"Base::~Base(void){}Base::Base(void){}templateboolDerived::func(void){returntrue;}templateDeriv

c++ - 在 C++03 中返回类似 `std::auto_ptr` 的集合的最佳方法是什么?

std::auto_ptr不允许存储在STL容器中,例如std::vector.但是,偶尔会出现需要返回多态对象集合的情况,因此无法返回对象vector(由于切片问题)。我可以使用std::tr1::shared_ptr并将它们粘贴在vector中,但随后我不得不为维护单独的引用计数付出高昂的代价,并且拥有实际内存(容器)的对象在逻辑上不再“拥有”这些对象,因为它们可以在不考虑所有权的情况下从中复制出来。C++0x以std::vector>的形式为这个问题提供了完美的解决方案。,但我无权访问C++0x。一些其他注意事项:我无法访问C++0x,但我可以使用TR1。我想避免使用Boost(

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++ - 附加调试器时 unique_ptr dtor 调用速度慢得离谱 (msvc)

structtest_struct{test_struct(){}~test_struct(){}};#include#include#includeintmain(){printf("ctorbegin\n");{std::vector>test_vec;constintcount=100000;for(autoi=0;i我正在使用VS2010,发现了一些荒谬的性能问题。上面的代码在调试和发布版本(ctrl+f5)中都运行良好,但是当附加调试器(f5)时,dtor调用unique_ptr类的速度慢得无法忍受。结果机器代码是相当优化的,所以我不认为这是编译器问题而不是调试器问题,但我不