草庐IT

uses-sdk

全部标签

C++ 库 "internal use only"编码风格

我正在用C++编写一个库。所有类和全局函数都在mylibrary命名空间内声明。我需要创建一些仅供内部使用的类:使用这个库的人应该立即注意到哪些类不打算在库外使用。不幸的是,我不能使用私有(private)函数,因为这会弄乱所有封装。我不能使用私有(private)类,因为内部类必须由同一个库中的“普通”类访问。我想这样做的一个好方法是创建命名空间mylibrary::internal并将所有“私有(private)”内容放入其中。这是正确的方法吗?还有其他常见的方法吗? 最佳答案 为您的内部功能使用匿名命名空间。这将确保没有外部代

c++ - 使用 'using' 关键字获取指向类方法的指针

我使用的是VisualStudio2010。为什么我无法获得指向子类中“升级”为public的类方法的指针?以下代码无法编译:#include#includeclassParent{protected:voidfoo(){std::coutf=std::bind(&Child::foo,&c);f();return0;}它给出了错误:errorC2248:'Parent::foo':cannotaccessprotectedmemberdeclaredinclass'Parent' 最佳答案 编译here.我想你只是忘了在你的编译器

c++ - 将 DirectX SDK 代码转换为新的 Windows 8.1 SDK 代码

我目前正在创建视频游戏+引擎。我找到了somereallyamazingtutorialsonDirectX11programmingatRasterTek.不幸的是,他们使用的是已贬值的DirectXSDK,而我使用的是VS2013以及WindowsSDK中包含的新DirectXSDK。我正在转换代码以使用WindowsSDK,但我在教程4中遇到了一些问题(是的,我将转换所有49个教程,并且可能会有更多问题)来自WorkingwithD3DXMath,有人告诉我D3DXVECTOR3应该转换为XMFLOAT3。然后我尝试在已转换为XMVector3TransformCoord的D3D

c# - 每个 VST SDK 似乎都适用于 C++,那么 C# 呢?

我想开始制作VSTi的,更具体地说,midi的-那些不产生任何声音但只是将midi数据输出到其他vst插头(琶音器,和弦工具等)的东西。现在我刚买了C#的书,认为它是一种很好的入门语言(不仅适用于vst编程),但每个人都在说C++是必经之路,而VST.NET似乎适用于C++....似乎在我的C#道路上一切都对我不利?我脑子里有“编程思维”,但我是几年前开始编程的,VisualBasic、TurboPascal等。所以我有一个非常干净的开始。您有什么建议,卖掉我的新C#书籍(或将它们藏在书架中)并以C++为目标,或者C#仍然可以吗?我一直认为C++比C#学习起来要复杂得多。顺便说一下,C

c++ - g++ : Using singleton in an embedded application

我正在使用C++中的GNUARM工具链使用GCC4.8为CortexM3开发嵌入式应用程序。该应用程序使用了一些通过函数局部静态变量实例化的单例,就像这样(真实代码):GlobalDataTypeRegistry&GlobalDataTypeRegistry::instance(){staticGlobalDataTypeRegistryinst;returninst;}这是在C++中实现单例的经典方法。问题是一旦我使用这种实例化,输出代码大小就会激增,这显然意味着编译器/链接器添加了一些服务代码以正确初始化/销毁单例对象。这是允许重现问题的最小示例:这将编译成66k代码(-Os):s

c++ - 错误 : Use of class template requires template argument list

当我尝试运行我的程序时,此错误显示为“errorC2955:'FOURTEEN':useofclasstemplaterequirestemplateargumentlist”#includeusingnamespacestd;templateclassFOURTEEN{private:Ta[n];public:voidReadData();voidDisplayData();};voidFOURTEEN::ReadData(){for(inti=0;i>a.[i];}voidFOURTEEN::DisplayData(){for(inti=0;i>a.[i]P;//Readdatai

如何使用ComPDFKit Web SDK添加在线编辑PDF文档功能

文档编辑功能提供了一系列的操作页面的能力,使用户能够控制文档结构,并调整文档的布局和格式,确保文档内容以合理有序的方式精准呈现。ComPDFKit文档编辑的优势插入或删除页面: 向文档插入或删除页面,以满足特定的排版要求。文档结构调整: 调整页面排列顺序或旋转方向,以满足特定的显示或打印需求。多文档协作: 从一个文档中提取页面,然后插入到另一个文档中,以促进协作和内容整合。 ComPDFKitforWeb文档编辑的功能插入页面向目标文档中插入空白页面或另一个文档中的页面。插入空白页面​以下是插入空白页面的示例代码://插入到第一页。constpageIndex=1;constwidth=612

c++ - 谷歌模拟 : Is it ok to use global mock objects?

在所有关于gmock的文档中,我总是发现要在测试中实例化模拟对象,就像这样:TEST(Bim,Bam){MyMockClassmyMockObj;EXPECT_CALL(MyMockObj,foo(_));...}因此,对象在每次测试时都会被创建和销毁。我相信为每个测试夹具创建和销毁对象也完全没问题。但我想知道是否也可以拥有模拟对象的文件全局实例,就像这样:MyMockClassmyMockObj;TEST(Bim,Bam){EXPECT_CALL(MyMockObj,foo(_))...}我试过了,到目前为止我完全没有问题,一切似乎都很好。但也许我应该知道什么?只是因为我偶然发现了t

c++ - 地址 sanitizer : "SEGV on unknown adress" when using throw-catch and printf

当我扔东西时,例如一个int或一个charconst*,并使用printf检查错误,我得到一个AddressSanitizerError。我无法在网上找到任何类似的东西,而且我的代码示例非常基础,以至于我真的不明白它怎么可能会产生错误。精简代码示例:#includeintmain(){try{throw42;}catch(intmsg){printf("%d\n",msg);}return0;}运行代码时的控制台输出:ASAN:SIGSEGV===================================================================16533=

c++ - Boost Graph Library : How to use depth_first_visit, ColorMap 问题

初始问题:BoostGraphLibrary:PreventDFSfromvisitingunconnectednodes我正在尝试使用boost::depth_first_visit,但不知道如何提供ColorMap属性。我在这里尝试了示例中给出的方法:http://www.boost.org/doc/libs/1_58_0/libs/graph/example/loops_dfs.cpp我的(相关)代码:///Definevertexproperties.structNodeProperty{unsignedid;///Id.unsignedkind;///Kind.unsigne