草庐IT

spe_context_ptr_t

全部标签

时间:2019-05-06 标签:c++unique_ptr参数传递

假设我有以下代码:classB{/**/};classA{vectorvb;public:voidadd(B*b){vb.push_back(b);}};intmain(){Aa;B*b(newB());a.add(b);}假设在这种情况下,所有原始指针B*可以通过unique_ptr处理.令人惊讶的是,我无法找到如何使用unique_ptr转换此代码。.经过几次尝试,我想出了以下代码,它可以编译:classA{vector>vb;public:voidadd(unique_ptrb){vb.push_back(move(b));}};intmain(){Aa;unique_ptrb(

c++ - std::unique_ptr 的 clang 错误

我有一个名为IList的基础对象。然后我有VectorList,它继承了IList。然后我有这样的功能:std::unique_ptrfactory(){autovlist=std::make_unique();returnvlist;}这在gcc下编译没有问题,但是clang给出以下错误:test_file.cc:26:9:error:noviableconversionfrom'unique_ptr>'to'unique_ptr>'returnvlist;如何正确处理此类错误? 最佳答案 看起来(您的)Clang在这方面仍然遵循

c++ - shared_ptr 现实生活中的用例

shared_ptr将在我们希望拥有一个动态分配项目的多个所有者的情况下使用。问题是,我无法想象我们需要多个所有者的任何场景。我能想到的每个用例都可以用unique_ptr解决。有人可以提供一个现实生活中的用例示例,其中包含需要shared_ptr的代码(这里需要,我的意思是作为智能指针的最佳选择)?我所说的“现实生活”是指一些实用的用例,而不是过于抽象和虚构的东西。 最佳答案 在我们的模拟器产品中,我们使用一个框架在模拟组件(称为端点)之间传递消息。这些端点可以驻留在进程内的多个线程上,甚至可以驻留在模拟集群中的多台机器上,消息通

c++ - 如何使用 ifdef 检测是否支持 Windows DWORD_PTR 类型?

有somenewintegertypes在WindowsAPI中支持Win64。他们并不总是得到支持;例如theyaren'tpresentinMSVC6.我怎样才能写一个#if是否支持这些类型的检测条件?(我的代码需要在许多不同版本的MicrosoftVisualC++下编译,包括MSVC6。因此我需要提供我自己对这些类型的定义,并带有#if以在较新的编译器中禁用它们)。(对于搜索者,完整的类型列表是:DWORD_PTR、INT_PTR、LONG_PTR、UINT_PTR、ULONG_PTR) 最佳答案 宏MSC_VER是在[12

c++ - 如何将 unique_ptr 与 operator new 一起使用

我正在分配一block具有输入大小的临时内存,我想使用unique_ptr跟踪适当的生命周期,而不必明确担心自己释放它。这是我想出的:{std::unique_ptrsp;sp.reset(reinterpret_cast(operatornew(100)));}我不得不使用BYTE因为MSVC不会用std::unique_ptr编译.根据我的测试,new和delete运算符按预期调用。由于这是一种不常见的用法(即显式使用operatornew),我想检查一下这没有什么问题吗?是否有更好/更清洁的替代品? 最佳答案 假设您想使用ne

c++ - shared_ptr 和 iOS 中的引用计数是同一个思路吗?

我对C++或iOS都不是很有经验,所以我很好奇iOS的引用计数在boost共享指针和NSObject中的工作原理是否基本相同? 最佳答案 据我收集here,使用ARC与使用std::shared_ptr(“强”指针)和std::weak_ptr(“弱”指针)非常相似。滥用前者,避免后者。无论如何,如果可以的话,请选择std::unique_ptr。(另外,我有点惊讶你在为iOS编程时必须手动释放指针。在21世纪。) 关于c++-shared_ptr和iOS中的引用计数是同一个思路吗?,我

ios - 模态呈现样式 "over current context"和 "over fullscreen"有什么区别?

我想知道当前上下文和全屏的区别是什么?当我在它们之间切换时,我的应用程序没有任何变化。所有的动画看起来都一样等等。 最佳答案 如果您从已经处于全屏模式的ViewController中呈现ViewController,则没有任何视觉差异。但是,如果呈现ViewController未处于全屏模式,当前上下文将有所不同。例如:左:在当前ViewController未处于全屏模式之前中间:以全屏呈现一个新的ViewController右:呈现一个具有当前上下文的新ViewController可用的不同演示模式比较的完整列表hereonGit

ios - 核心数据 : parent context blocks child

我正在使用核心数据在应用程序中进行一些后台处理。后台处理是在子managedObjectContext上完成的。上下文初始化:appDelegate=UIApplication.sharedApplication().delegateas!AppDelegate//themocinappDelegateiscreatedwith.MainQueueConcurrencyTypemainThreadMOC=appDelegate.managedObjectContext!backgroundMOC=NSManagedObjectContext(concurrencyType:NSMana

ios - CoreData 嵌套上下文 : what is the proper way to save context?

我正在使用嵌套上下文模式来支持CoreData的多线程工作。我有CoredDataManager单例类,上下文的初始化是:self.masterContext=[[NSManagedObjectContextalloc]initWithConcurrencyType:NSPrivateQueueConcurrencyType];self.masterContext.persistentStoreCoordinator=self.persistentStoreCoordinator;self.mainContext=[[NSManagedObjectContextalloc]initWi

android - java.lang.NoSuchMethodError : No static method getFont(Landroid/content/Context;ILandroid/util/TypedValue;ILandroid/widget/TextView;)

将我的AndroidStudio更新到3.0后,我收到NostaticmethodgetFont()错误。我正在从事的项目在github上,https://github.com/ik024/GithubBrowser//Top-levelbuildfilewhereyoucanaddconfigurationoptionscommontoallsub-projects/modules.buildscript{repositories{jcenter()maven{url"https://oss.sonatype.org/content/repositories/snapshots"}}