ICode9

精准搜索请尝试: 精确搜索
  • c – 如何将unique_ptr与std :: copy一起使用?2019-08-23 22:05:51

    我用Google搜索,一无所获.我想我只是不知道如何输入正确的问题. 好的,我的简单MemoryBlock类有两个成员数据,int size和int * data.因此,为了构建一个复制构造函数,我使用std :: copy来进行内存复制.现在我想尝试使用C智能指针替换原始指针.假设使用unique_ptr< int>数据.以下代码

  • c – 为什么这个自定义指针类会崩溃?2019-07-31 06:08:54

    我正在实现一个特殊目的句柄类. ihandle是一个所有句柄必须实现的接口,在我的实际代码中,它将具有运算符重载 – > *.但是对于这个例子,我想保持简单,它只有get函数. template <typename T> class ihandle { public: virtual T* get(); }; 一种可能的实现是ptr,它只是一个原

  • c – 为智能指针编写复制构造函数的问题2019-07-30 19:05:36

    我正在使用的代码有自己的智能指针实现,它可以进行简单的引用计数.是的,我们不应该有自己的实施.是的,我们应该使用boost或者其中之一.忍受我. 我发现我想编写这样的代码: ... CountedPointer<Base> base; ... CountedPointer<Derived> derived; ... base = derived; 但是,Counted

  • c – 这里发生了什么?2019-07-29 21:06:15

    这不编译, #include <boost/intrusive_ptr.hpp> class X { public: void intrusive_ptr_add_ref(X* blah) { } void intrusive_ptr_release(X * blah) { } }; int main() { boost::intrusive_ptr<X> ex(new X); } 但这样做: #include <boost/intrusive_p

  • c – 不允许带=符号的shared_ptr2019-07-28 22:05:56

    为什么以下代码编译 shared_ptr<parent> p(new parent); 而下面的则没有 shared_ptr<parent> p2 = new parent; 是否有任何理由不允许’=’符号用于shared_ptr? 一般来说,如果指针一样 int *p = new int; 应该与那个相同 int *p(new int); 不是吗?解决方法:std :: shared_ptr

  • c – 为什么在添加带有唯一指针到我的头文件的向量后,我得到:“尝试引用已删除的函数”错误?2019-07-27 10:05:34

    要学习C,我正在编写游戏.在这个游戏中,可以有两个玩家.那些玩家可以通过套接字相互连接.在向玩家标题添加带有唯一指针的向量后,我收到错误:“错误C2280’std :: unique_ptr> :: unique_ptr(const std :: unique_ptr< _Ty,std :: default_delete< _Ty>>&)’ :尝试引用已删除的函数“.

  • c – 在make_unique中使用此*2019-07-27 03:08:45

    我有一个工厂设计模式的小例子,我对这部分感兴趣: std::make_unique< A >(*this) ……特别是*这个. 这是否意味着clone()方法返回一个指向工厂类成员的std :: unique_ptr? createInstance()总是返回Factory类的同一个成员? 我只是困惑了什么std :: make_unique< A>(* this)应该这样

  • c – 代码的哪一行使shared_ptr的引用计数增加?2019-07-27 03:06:30

    我正在寻找一种方法来确定哪一行代码负责增加shared_ptr的引用计数?例如,假设一个条件,我有一个智能指针,它的引用计数是12.我倾向于知道我的项目中的c代码或赋值运算符的哪一行负责,只要它是13. 谢谢你的帮助解决方法:这是依赖于标准库的实现,因为shared_ptr的实现不是语言标准的一

  • 除了Boost,我在哪里可以获得C的单文件智能指针实现?2019-07-26 18:07:40

    我想在我的代码中开始使用智能指针,但我真的不想使用Boost因为它太大了. 任何人都可以推荐一个简单的单文件智能指针实现? 谢谢,Boda Cydo.解决方法:不幸的是,智能指针并非都那么简单,因此实现可能非常复杂.话虽如此,如果你正在使用g,你可以得到像shared_ptr这样的东西,而不必使用Bo

  • c – std :: auto_ptr的最佳实践2019-07-26 13:14:55

    我只是习惯了使用std :: auto_ptr的智能指针. 假设我想用auto_ptr和普通指针调用一个函数. auto_ptr<uint32> data_smart(new uint32[123])]); uint32 data_fix[123]; uint32* data_dumb = new uint32[123]; processData(data_smart); processData(data_fix); processData(data_d

  • c – 智能指针无法释放内存2019-07-25 15:06:26

    参见英文答案 > Why destructor is not called on exception?                                    6个 我的智能指针实现如下所示,在异常情况下不会释放内存. template <class T> class SMARTPOINTER { public: SMARTPOINTER(T* pointee)

  • c – 使用weak_ptr作为参数的函数重载分辨率2019-07-25 05:06:38

    我有: class A : public std::enable_shared_from_this<A> {...}; class B : public A {...}; void doCoolStuff(std::weak_ptr<A> obj) {...} void doCoolStuff(std::weak_ptr<B> obj) { ... doCoolStuff(std::static_pointer_cast<A>(obj.lock

  • c – 如何将原始指针的矢量转换为唯一指针的矢量?2019-07-25 03:08:08

    #include <vector> enum ListOfGameStates { // List of game states }; class GameState() { public: GameStates(); // Initializes protected (global) variables virtual ListOfGameStates run() = 0; protected: // Heavywe

  • c – 如何推迟shared_ptr的删除操作?2019-07-25 01:08:46

    我在main中创建了一个示例类的指针.我将此指针传递给函数function1().此函数必须使用指针作为共享指针,并使用此指针执行某些操作.在退出函数1()时,由于shared_ptr而调用了样本的析构函数.当我将相同的指针传递给不同的函数时,该指针不再有效,程序崩溃. 1.如何在function1()中推迟

  • c 11新功能,正确使用shared_ptr?2019-07-24 19:08:43

    所以我的理解是,当对象的最后剩余所有者被销毁或重新分配时,shared_ptr会自动从内存中释放出来(看起来太好了?)并且当许多实例可能共享同一个对象时它很有用.正确? 所以在我的情况下,我正在制作一个2d平铺世界,所以我在屏幕上绘制了许多相同的纹理. 我有 std::map<int, shared_ptr<T

  • c – 为什么在模板方法中的clang中检测到不完整的类型?2019-07-24 19:07:27

    今天,我在clang中遇到了一个让我感到惊讶的编译问题.我想是合理的,但我喜欢深入挖掘并听到更多细节.如果可能,还有一些标准参考. 我有一个带有模板方法的类,它依赖于一个成员,它的类型在头文件中未定义(但不在源代码中).类似于以下内容: // Menu.h class Page; class Menu { publi

  • c – 实施智能指针 – 使用模板进行动态分配2019-07-24 07:04:51

    我正在编写一个智能指针countptr,我已经达到了减速带. countsptr的基本功能是像任何其他智能指针一样工作,并且还有一个指向单个对象的指针数.到目前为止,代码是: [解决了] #include "std_lib_facilities.h" template <class T> class counted_ptr{ private: T* pointer;

  • c – 条件boost :: shared_ptr初始化?2019-07-23 09:04:32

    为了编写更好的代码,我已经致力于使用boost的智能指针. boost :: shared_ptr应该像这样初始化吗? boost::shared_ptr<TypeX> px(new TypeX); 我的混淆来自类似于此的代码块: void MyClass::FillVector() { boost::shared_ptr<TypeX> tempX; if(//Condition a) {

  • 何时在Android原生框架(AOSP)中使用弱指针(wp)2019-06-29 11:11:20

    我知道SP和WP之间的差异,SP会自动重新收集动态分配的内存.但我不知道何时以及如何使用WP?谁能举个例子?解决方法:您必须知道使用SP会增加对象的引用计数,而使用WP则不会.所以WP只是一个地址存储,它不能用于访问对象的字段,除非你提升它.但是如果对象已经被释放,wp.promote()将返回一

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有