草庐IT

copy_pointer

全部标签

c++ - 什么是 glibc free/malloc/realloc invalid next size/invalid pointer error 以及如何修复它?

您很可能会看到此问题,因为您的问题已作为此问题的拷贝关闭。有关中等完整的相关问题列表,请参阅MetaStackOverflow上的Alonglistofpossibleduplicates— Cmemoryallocationandoverrunningbounds。示例问题来自freechar*:invalidnextsize(fast)由noobie在2014-04-11询问。我在连接过程后释放char*,但收到此错误:free():invalidnextsize(fast):0x0000000001b86170这是我的代码:voidconcat(stringList*list){

ios - Xcode - 我的应用程序崩溃,错误是 "Invalid pointer dequeued from free list *** set a breakpoint in malloc_error_break to debug"

我的应用在模拟器上运行完美。但是当我在设备上运行它时,应用程序崩溃并显示错误:"malloc:*errorforobject0x17415d0c0:Invalidpointerdequeuedfromfreelist*setabreakpointinmalloc_error_breaktodebug";我在malloc_error_break中搜索并设置了一个断点进行调试,但还是找不到问题所在。我试图改变项目的方案,启用僵尸对象,但找不到答案。我也尝试使用乐器,但我不擅长。 最佳答案 我已经在iOS8.3上使用Xcode8修复了这个

c++ - std::copy 和 std::vector::assign 的转换警告

当float插入到std::vector中时,数字必须通过某种舍入转换。通常这会更改数字,1.5更改为1或2,我希望编译器至少会警告此转换。所以我使用-Wconversion在g++或clang++上标记。这将启用std::vector::push_back的警告或直接分配,但不适用于std::copy或std::vector::assign(iteratorfirst,iteratorend).现在我的问题是:如何获得std::copy的转换警告和std::vector::assign?这是我的示例程序:#include#include#includeusingsource_type

c++ - 为什么没有为 "T* const"定义 pointer_traits ?

见http://en.cppreference.com/w/cpp/memory/pointer_traits和相关站点(也是boostintrusive的boost实现),pointer_traits不是专门用于T*const的。这是为什么呢? 最佳答案 虽然这不能作为强烈的动机反对指定pointer_traits的特化对于T*const应该存在,我猜为什么不包含它的解释可能是pointer_traits主要用于模板参数推导(尤其是类型推导)发生的上下文中。由于类型推导不考虑顶级简历资格,T*const的特化或T*volatile

c++ - xutility(2227) : warning C4996: 'std::_Copy_impl'

我收到此警告消息..但我不知道问题出在哪里/哪里..!包括#pragmawarning(push)#pragmawarning(disable:4996)#include#include#include#include#pragmawarning(pop)和警告1>c:\programfiles(x86)\microsoftvisualstudio10.0\vc\include\xutility(2227):warningC4996:'std::_Copy_impl':Functioncallwithparametersthatmaybeunsafe-thiscallreliesont

C++ FileIO Copy -VS- System("cp file1.x file2.x)

编写文件复制例程会更快/更高效,还是我应该只执行对cp的系统调用?(文件系统可能不同[nfs、local、reiser等],但它总是在CentOSlinux系统上) 最佳答案 Invoking一个shell通过使用system()函数效率不高,也不是很安全。在Linux中复制文件最有效的方法是使用sendfile()系统调用。在Windows上,CopyFile()应使用API函数或其相关变体之一。Example使用sendfile:#include#include#include#include#include#include#i

c++ - 无法将 'const pointer const' 传递给 const ref

假设你有一组指针(是的......):std::setmyTypeContainer;然后假设你想从SomeType的const方法中搜索这个集合:boolSomeType::IsContainered()const{returnmyTypeContainer.find(this)!=myTypeContainer.end();}这不起作用。方法中的thisptr是一个constSomeType*const,我无法放入find。问题是find采用const-ref,在这种情况下,这意味着传递的指针被视为const,而不是它指向的东西。有没有办法顺利解决这个问题(不改变设置的模板类型)?

c++ - 类 : handling copy constructor and destructor (C++) 内的 vector

以“big3”(构造函数、复制构造函数、析构函数)的简单类:#includeusingnamespacestd;//actuallygoesintheCfilethatlinkstothisheaderfile...classplanets(){//storesmassandradiidataforplanetsinasolarsystem.public:vectormass;vectorradius;//constructorplanets(intnumObj){for(inti=0;imass(p.mass);//copyvectorsintonewclass.vectorradi

C++ 静态工厂方法与构造函数 : how to avoid copying?

Thisquestion要求以简洁的方式在C++中实现静态工厂方法,thisanswer描述了一种明确的方法。返回值优化将使我们免于制作不必要的Object拷贝,从而使这种创建Object的方式与直接调用构造函数一样高效。在私有(private)构造函数中将i复制到id的开销可以忽略不计,因为它是一个小的int。但是,当Object包含作为类Foo实例的实例变量(需要复杂的初始化逻辑)时,问题和答案并未涵盖更复杂的情况)而不是一个小的原始类型。假设我想使用传递给Object的参数构造Foo。使用构造函数的解决方案如下所示:classObject{Foofoo;public:Object

c++ - 是否有 boost::weak_intrusive_pointer?

出于遗留原因,我需要使用侵入式指针,因为我需要能够将原始指针转换为智能指针。但是我注意到没有用于boost的弱侵入性指针。我确实在boost线程列表中找到了有关它的讨论,但没有具体内容。有人知道弱侵入指针的线程安全实现吗?谢谢丰富 最佳答案 这没有任何意义。详细说明:weak_ptr指向与shared_ptr相同的counter对象实例。当shared_ptr超出范围时,counter的实例保持不变(有效计数为0),这允许weak_ptr实例检查它们是否有效地指向一个已释放的对象。使用侵入式计数,计数器集成在对象中。当计数达到0时,