草庐IT

unique_ids

全部标签

c++ - 前向声明、unique_ptr 和类内初始化器

我已阅读Isstd::unique_ptrrequiredtoknowthefulldefinitionofT?和Forwarddeclarationwithunique_ptr?,但我的问题更具体。以下编译://Compilewith$g++-std=c++11-c#includeclassA;//fwddeclarationclassAUser{AUser();//definedelsewhere~AUser();//definedelsewherestd::unique_ptrm_a;};以下不是://Compilewith$g++-std=c++11-c#includeclas

c++ - 为什么不允许使用 `make_unique<T[N]>`?

假设命名空间std贯穿始终。C++14委员会草案N3690定义了std::make_unique因此:[n3690:20.9.1.4]:unique_ptrcreation   [unique.ptr.create]templateunique_ptrmake_unique(Args&&...args);1Remarks:ThisfunctionshallnotparticipateinoverloadresolutionunlessTisnotanarray.2Returns:unique_ptr(newT(std::forward(args)...)).templateunique

c++ - 使用 unique_ptr 作为方法参数 - 优点和缺点

我注意到如果我有以下内容:#includeusingnamespacestd;classFoo{public:Foo();};classWobble{public:voidSetWibble(unique_ptrfoo){this->wibble=move(foo);}//Ilikereturningarefasitgivescontrolto//theuserofmyframeworkoverrecievinga&oracopyFoo&GetWibble(){return*wibble;}unique_ptrwibble;};int_tmain(intargc,_TCHAR*argv

c++ - 如何在 Qt 中获取硬件 ID

我无法在所有操作系统中获取CPUID或主板序列号(跨平台Qt)在Windows上我使用WMI在Mac上另一个。我想使用跨平台库。 最佳答案 AlthoughQtdetectsatruntimetheCPUfeatureset(cf.src/corelib/tools/qsimd.cpp),itdoesnotexportanyfunctiontoaccessthat(noranyotherCPUIDinformation).Writeyoursmallpieceofassemblycodetogatherthatinformation

SQL Server Profiler如何检查创建SQL Server Profiler Trace的用户ID?

我有一个在SQLServer上运行的ProfilerTrace,该跟踪正在创建每个200MB的跟踪文件。这正在吞噬驱动空间。在停止或进行任何更改之前,我想知道谁创建了此迹线。附加跟踪文件快照。另外,如何减少这一点?看答案它将在sqlerrorlog中记录下来。SQL跟踪ID2由登录“rgaccount”启动减少尺寸可以通过减少捕获或持续时间的事件数量来完成

如何将动态锚标记ID值或类值传递给另一个脚本

当我们从数据库中获取数据时,我们会生成一个动态锚标签。如何将动态生成的锚标记ID传递给另一个脚本以进行进一步的过程。我已经尝试了MnowstillMnotMetoftingoffoct.below是我的代码:我的代码:脚本$(document).ready(function(){$('.c').click(function(){$.ajax({url:"/afc/search",data:{},type:"POST",cache:false,success:function(data){//alert(data);varobj=$.parseJSON(data);varresult="";$.

c++ - unique_ptr、nullptr 并支持 gcc 4.5.x 和 4.6.x

我正在开发一个有两个不同最终用户的库,其中一个使用gcc4.5.3,另一个刚刚迁移到gcc4.6.3。该库使用新的C++11智能指针(特别是unique_ptr)并在gcc4.5.3上编译良好。然而,在这两个版本之间,gcc开始支持nullptr,因此unique_ptr的API发生了变化,以更接近标准。现在这样做,下面的代码从好到模棱两可unique_ptrup(newint(30));...if(up==0)//ambiguouscallnowtounique_ptr(int)for0是否有一种干净的(即,下一句)方法来更改上面的if语句,以便它在有和没有nullptr的情况下都有

C++11 : unique_ptr complains about incomplete type, 但是当我包装它时不是

SO上已经有很多关于unique_ptr和不完整类型的问题,但没有一个能给我一个概念来理解为什么以下内容不起作用://error:...std::pair::secondhasincompletetypetemplatestructImpl{typedeftypenamestd::unordered_map>::iteratoriter_type;std::unique_ptrptr;Impl():ptr(newiter_type()){}};intmain(){Impl();return0;}而以下是:templatestructImpl{structWrapper{typedeft

c++ - 如何将 std::unique_ptr<T> 与返回 int 的接口(interface)一起使用?

我想将open/closePOSIXAPI包装到一个RAII兼容对象中,例如std::unique_ptr。但是open函数返回一个int(即不是HANDLE,它是指向void的指针),并且我不确定如何将std::unique_ptr模板类与int一起使用。有人可以帮帮我吗? 最佳答案 真的,您想要的只是让close(intfileHandle)为您管理,对吗?为什么不创建一个带有为您调用close()的析构函数的简单C++类?我认为这就是您要寻找的行为。std::shared_ptr,friend只处理用new创建的堆指针,会调用

c++ - 防止对 std::unique_ptr 的不安全取消引用

摘自cppcon2015的幻灯片:unique_ptrf(){autoa=make_unique();returna;}//Whydoesthisevencompile?constA&dangling=*f();//BOOM!!!use(dangling);我的问题是:对于*this的右值引用,这可以解决吗?我在cppreference的规范中看到:typenamestd::add_lvalue_reference::typeoperator*()const;问题:不允许operator*用于右值unique_ptr并且只对左值unique_ptr取消引用有效吗?仍然有有效的用例来保持