草庐IT

using-directives

全部标签

c++ - 关于 "using"关键字的问题

我很清楚using命名空间,但是,我时不时地遇到一个using,它使用一个特定的类。例如:#includeusingnamespacestd;(...)但是-我时不时地看到:usingstd::string;在这种情况下我应该如何解释“使用”?干杯 最佳答案 使用std::string只是将std::string导入当前范围(也就是,您可以只使用'string'而不是'std::string'),而无需将所有内容从::std导入当前范围。编辑:评论后澄清。 关于c++-关于"using"

c++ - using 声明的可变参数扩展

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:usingdeclarationinvariadictemplate我最近遇到了agenericmechanism用于组合两个函数对象以形成一个新的函数对象,其行为就像前两个被重载一样:templatestructoverload:publicF1,publicF2{overload(F1f1,F2f2):F1(f1),F2(f2){}usingF1::operator();usingF2::operator();};我正在尝试将这个想法扩展到适用于N个函数对象,使用可变参数模板:templatestruct

C#/命令行界面 : Destructor not called if Dispose() used in it

我有一个名为“CTransferManaged”的C++/CLI类,其中实现了终结器和析构函数:CTransferManaged::~CTransferManaged(){this->!CTransferManaged();}CTransferManaged::!CTransferManaged(){//Cleanupresources...}此类由名为“CTransfer”的C#类包装,其中包含类型为CTransferManaged的​​对象m_transfer。如果此类的析构函数仅清除对对象m_transfer的引用,我可以看到调用了析构函数(命中断点):~CTransfer(){

C++/OpenCV : How to use BOWImgDescriptorExtractor to determine which clusters relate to which images in the vocabulary?

我的目标是将图像作为查询并在图像库中找到最匹配的图像。我在openCV3.0.0中使用SURF功能和BagofWords方法来查找匹配项。我需要一种方法来确定查询图像是否在库中有匹配项。如果是,我想知道最接近匹配的图像的索引。这是我读取所有图像(图像库中总共300张)并提取和聚类特征的代码:Mattraining_descriptors(1,extractor->descriptorSize(),extractor->descriptorType());//readinallimagesandsettobinarycharfilepath[1000];for(inti=1;idetec

direct3d-msaa-抗锯齿算法-教程-涉及概念解析

文章目录1.交换链2.表面3.IDXGIFactory4.ID3D10RasterizerState5.ID3D10Resource6.交换链GetBuffer函数7.ID3D10Device中ResolveSubresource函数8.IDXGISurface9.ID2D1RenderTarget中的CreateSharedBitmap函数10.ID3D10RenderTargetView1.交换链交换链(SwapChain)在计算机图形学和窗口系统中是一个核心概念,它主要用于管理一组缓冲区(通常是帧缓冲区),这些缓冲区用于存储渲染的图像,并且有序地与屏幕显示进行交替更新。窗口系统中的交换链

c++ - 光线追踪 : Only use single ray instead of both reflection & refraction rays

我目前正在尝试理解由KevinBeason(smallpt:http://www.kevinbeason.com/smallpt/)开发的光线追踪器,如果我正确理解代码,他会随机选择反射或折射光线(如果表面既反射又折射).第71-73行:returnobj.e+f.mult(depth>2?(erand48(Xi)谁能解释一下只转换一条射线而不是转换两条射线的缺点?我从未听说过这种技术,我很好奇它的权衡是什么,因为它会大大降低复杂性。 最佳答案 这是一个蒙特卡洛光线追踪器。它的优点是您不会产生呈指数增长的光线数量-这可能会出现在一些

c++ - Visual Studio 2010 上的 VC++ : Release builds using debug heap

我正在对一个慢速C++应用程序进行基准测试/优化,在拍摄一些堆栈快照时,我发现我的应用程序的发布版本正在使用调试堆,因为找到的一些堆栈跟踪表明:ntdll.dll!string"Enablingheapdebugoptions\n"()+0x11056bytes这是一个在Windows7上运行的64位应用程序。我在完全相同的在线环境中看到两三个关于此问题的其他投诉,但没有任何回应。有没有人知道为什么Windows或VisualStudio会使用调试堆来发布构建C++项目? 最佳答案 Thedebugheapisusedwhenapr

二进制安全虚拟机Protostar靶场(7)heap2 UAF(use-after-free)漏洞

前言这是一个系列文章,之前已经介绍过一些二进制安全的基础知识,这里就不过多重复提及,不熟悉的同学可以去看看我之前写的文章heap2程序静态分析https://exploit.education/protostar/heap-two/#include#include#include#include#includestructauth{#定义了一个名为auth的结构体charname[32];#定义了一个名叫name的变量,能存储32字节数据intauth;#定义了一个整数变量auth};structauth*auth;#auth指针用来指向structauth类型的对象char*service;

c++ - `using` 用户定义文字运算符的声明

是否可以为文字运算符operator""声明using?例如,#includenamespaceMyNamespace{constexprstd::chrono::hoursoperator""_hr(unsignedlonglongn){returnstd::chrono::hours{n};}//...otherstuffinthenamespace...}usingMyNamespace::operator"";//DOESNOTCOMPILE!intmain(){autofoo=37_hr;}我的解决方法是将这些运算符放在它们自己的嵌套命名空间中,称为literals,这允许u

c++ - 带有模板函数和 'using namespace' 的 VS2008(+?) 编译器错误

我发现某些代码(如下)的这种奇怪情况无法在VisualStudio2008下编译,并在第12行产生“错误C2872:‘歧义’:模糊符号”。删除最后一行的usingnamespaceRequiredNamespace修复了错误,但我希望将usingnamespace放在文件末尾应该没有效果。它还依赖于作为模板函数的AnotherFunction,所以我希望编译器在错误的范围内生成模板函数,或者在这样做之前没有重置正在使用的命名空间列表。相同的代码在GCC下编译。两个编译器似乎都在usingnamespaceNamespace定义之后为TemplatedFunction生成代码,至少据我所