草庐IT

shared_id

全部标签

c++ - 带有标准容器的 std::shared_ptr

我有一个容器shared_ptrs和我将这些对象交给WindowsAPI,稍后我使用原始ptr获得回调。我要找对shared_ptr事后。这可以用shared_ptr干净地完成吗?(不使用shared_from_this())。非常基本的例子:classCFoo{};typedefstd::shared_ptrCFooPtr;typedefstd::setCFooSet;externCFooSetm_gSet;voidSomeWindowsCallBack(CFoo*pRawPtr){m_gSet.erase(pRawPtr);}我知道这可以用intrusive_ptr来完成很容易,但

c++ - 气质 ID3D10EffectVectorVariable

我在很多地方通过以下方式设置了HLSL效果变量。externID3D10EffectVectorVariable*pColour;pColour=pEffect->GetVariableByName("Colour")->AsVector();pColour->SetFloatVector(temporaryLines[i].colour);在一个循环中设置它的地方,vectortemporaryLines中的每一行都有一个与之关联的D3DXCOLOR变量。这个问题最让人恼火的是,它实际上在极少数情况下有效,但大多数时候却无效。此类代码是否存在任何已知问题?这里有效:voidGameO

c++ - GCC - 'sizeof' 之前的预期不合格 ID - Android NDK 中的 IT++ 4.2

我已成功在我的AndroidNDK项目中构建CLAPACK。接下来,我尝试将IT++4.2库放入其中。但是,我有一些无法修复的错误。这些是我在我的项目中所做的事情:首先,我将itpp文件夹复制到我项目的jni文件夹中,并修改了itpp中的config.h。因为我在(放在..android-ndk-r7b\platforms\android-9\arch-arm\usr\include中)找到了isfinite、isinf和isnan函数。我将HAVE_DECL_ISINF、HAVE_DECL_ISFINITE和HAVE_DECL_ISNAN设置为1。config.h#ifndefCON

c++ - 具有 PPL 和并行内存分配的线程 ID

我有一个关于MicrosoftPPL库和一般并行编程的问题。我正在使用FFTW执行大量(100,000)64x64x64FFT和逆FFT。在我当前的实现中,我使用并行for循环并在循环内分配存储数组。我注意到在这些情况下,我的CPU使用率最高仅达到60-70%。(请注意,这仍然比我测试过的FFTW提供的内置线程FFT更好用)。由于我使用的是fftw_malloc,是否可能发生过度锁定而阻止完全使用?鉴于此,在主处理循环之前为每个线程预分配存储数组是否可取,这样循环本身就不需要锁?如果是这样,MSFTPPL库怎么可能呢?我以前一直在使用OpenMP,在这种情况下,使用提供的函数获取线程I

c++ - 类 : "expected unqualified-id before ' volatile'"? 中的 volatile 变量

我在类ADC中定义了两个staticvolatile变量。该类写为:(裁剪以节省空间)#pragmaonce#include"../PeriodicProcess/PeriodicProcess.h"#include#includeclassADC{private:staticinlineunsignedcharSPI_transfer(unsignedchardata);voidread(uint32_ttnow);staticconstunsignedcharadc_cmd[9];staticvolatileuint32_t_sum[8];staticvolatileuint16_

c++ - 如何重新分配 boost shared_ptr

我有两个Boostshared_ptrshared_ptrA(newX);shared_ptrB(newX);第三个指针最初指向与A相同的X。shared_ptrC=A;更改C使其指向与B相同的X的正确方法是什么?C=B; 最佳答案 EdChm是对的。我做了一个小测试程序来明确它。它使用C++11,但可以轻松转置。#include#includeintmain(){std::shared_ptrA(newint(1));//createsasharedpointerpointingtoanint.Soheunderlyinginti

CMake Error at /usr/share/cmake-3.10/Modules/CMakeFindDependencyMacro.cmake:48 (find_package):

问题:CMakeErrorat/usr/share/cmake-3.10/Modules/CMakeFindDependencyMacro.cmake:48(find_package): Foundpackageconfigurationfile:  /home/wl/anaconda3/lib/cmake/Qt5WebKit/Qt5WebKitConfig.cmake butitsetQt5WebKit_FOUNDtoFALSEsopackage"Qt5WebKit"isconsideredto beNOTFOUND. Reasongivenbypackage: Qt5WebKitcould

面试官:你知道哪些分布式ID生成方案?

近两年的技术面试,分布式系列是面试官经常会问到的一个高频方向,比如:分布式事务、分布式锁、分布式调度、分布式存储、分布式ID等。今天我们就来聊聊,这里面相对简单的分布式ID,首先说下,我们为什么需要分布式ID?当系统数据量过大,已经进行分库分表后,我们需要对分散在各个库表中的数据记录进行唯一标识,而分布式ID恰好用来解决这个问题。接下来,我们看看八大分布式ID的生成方案,以及各自的优缺点是什么。图片1、UUIDUUID是UniversallyUniqueIdentifier的缩写,翻译成中文为“通用唯一识别码”,由32个16进制数字+4个“-”构成,整体长度为36,其可以保证唯一性,发生碰撞的

c++ - 模板别名 shared_ptr 和 unique_ptr 时是否有任何陷阱或限制?

为了减少输入类似内容的简单原因:std::shared_ptr;std::unique_ptr;每次想使用智能指针的时候,我就想到了使用模板别名:templateusingsptr=std::shared_ptr;templateusinguptr=std::unique_ptr;所以我可以像这样使用它们:sptr;uptr;假设我在自己的命名空间中保护它们,以这种方式使用带有shared/unique_ptr的模板别名是否有任何陷阱或限制?我会不会做一些我可以用直接模板语法做而我不能用别名做的事情?由于其他原因,这是一个坏主意吗? 最佳答案

c++ - `std::shared_ptr` 的智能指针模拟,带有用于将回调绑定(bind)到引用计数修改事件的 API,例如释放/保留……这是一回事吗?

我需要一个智能指针结构-类似于std::shared_ptr-它为我提供了某种带有公开Hook的API,回调到引用计数修改事件(例如释放/保留,又名refcout增量/减量)可以绑定(bind)。我要么想自己实现,要么使用现成的东西,如果它存在的话。比如,我希望在定义这个假定的shared_ptr-ish智能指针(就像delete-expressions和deleterfunctor分别在shared_ptr和unique_ptr定义中使用。编辑(来self下面的评论)——这就是我想要这个的原因:我目前有一个Image类模板,在它的核心,有一个std::shared_ptr持有一个(可