草庐IT

private_users

全部标签

c++ - 如何在 MVVM Windows 应用商店应用程序中为私有(private) C++ 模型层编写 Visual Studio 单元测试?

我正在编写一个相当复杂的Windows应用商店应用程序。为了保持代码的可维护性,我想充分利用单元测试。到目前为止,我的解决方案包括以下内容:应用本身和View层的C#/XAML项目一个C++Windows应用商店项目,其中ViewModel层由托管的WinRT引用类组成,而模型层是直接的C++,并且完全隐藏在View层之外。用于测试ViewModel层的C#Windows应用商店单元测试项目。一个C++项目,用于执行一些DirectX渲染(View层的一部分,与本文无关)使用C#项目测试C++WinRTViewModel类工作正常。使用不同的语言并不重要,因为一切都是公开的并且使用Wi

c++ - 根据 ISO 2003,内部类可以访问外部的私有(private)成员

如ISOC++2003中所述§11.8Nestedclasses[class.access.nest]Themembersofanestedclasshavenospecialaccesstomembersofanenclosingclass,nortoclassesorfunctionsthathavegrantedfriendshiptoanenclosingclass;theusualaccessrules(clause11)shallbeobeyed.Themembersofanenclosingclasshavenospecialaccesstomembersofaneste

c++ - 在 friend 类模板的基本子句中访问私有(private)定义

在C++中,使类模板B的基类规范依赖于与类模板是friend的类A的私有(private)定义是否合法>B?示例代码:structEmpty{};templatestructB;structA{friendstructB;private:usingBase=Empty;};templatestructB:T::Base{};intmain(){Btest;return0;}Godbolt链接:https://godbolt.org/g/HFKaTQ代码在Clang主干(和旧版本)和MSVC19(VS2017)上编译良好,但在GCC主干(和旧版本)上编译失败:test.cpp:Inins

c++ - vector动态内存分配之private member vector

我是C++新手(我学过Fortran编程),我想为多维表动态分配内存。该表是私有(private)成员变量:classtheclass{public:voidsetdim(void);private:std::vector>thetable;}我想用函数setdim()设置表格的尺寸。voidtheclass::setdim(void){this->thetable.assign(1000,std::vector(2000));}我编译这个程序没有问题,但是当我执行它时,我遇到了一个段错误。对我来说奇怪的是,这段代码(见下文)完全符合我的要求,只是它没有使用我类的私有(private)

c++ - 从非成员模板函数访问私有(private)内部类类型

考虑以下代码:#includeusingnamespacestd;classOuter{structInner{intnum;};public:staticInnerGetInner(){returnInner{-101};}};//voidfunc1(Outer::Innerinner){//[1]Doesnotcompileasexpected//coutvoidfunc2(Outer::Innerinner,Dummy=Dummy()){cout(Outer::GetInner());//[3]Howdoesthiscompile?//Outer::Innershouldnotb

c++ - Google Mock中如何访问私有(private)成员

我正在尝试为一个带有私有(private)vector的类编写模拟,它将数据插入到私有(private)vector中。但是,我没有看到使用GoogleMock来做到这一点的方法。理想情况下,我不希望在我的界面中有任何与测试相关的内容。此外,我不想让私有(private)vectorprotected并子类化该类并添加访问器方法,因为这会导致我的代码泄漏其实现。这是我目前所拥有的。我想要完成的是用Fake类插入数据,并使用Mock类在指向Fake类的指针上调用Real::first()(这样我就可以使用Fake的vector而不是Real的vector)。编译此程序时,返回-1而不是4

c++ - 公共(public)接口(interface)方法的私有(private)实现

这个问题在这里已经有了答案:OverridingpublicvirtualfunctionswithprivatefunctionsinC++(7个答案)关闭6年前。我遇到过一段代码,其方法通过公共(public)接口(interface)公开,而实现是私有(private)的。我不确定预期的行为应该是什么。简化示例:#includeclassInterface{public:virtual~Interface(){}virtualvoidmyIfMethod()=0;};classDerived:publicInterface{private:voidmyIfMethod(){std

解决git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks commit -q -F C:\Users

解决在vscode中node-v能显示版本,但是git提交代码找不到node问题在项目中打开.git/hooks/目录。在Windows上,您可能需要显示隐藏文件夹,因为.git目录通常是隐藏的。在.git/hooks/目录中查找名为pre-commit的文件。如果找到该文件,删除它。pre-commit是GitHooks的一部分,它是在执行提交之前运行的脚本。通常,GitHooks的脚本位于.git/hooks/目录中。在绝大多数情况下,删除pre-commit文件会使Git不再运行提交前的钩子。请注意,这也会删除所有其他可能存在的提交前钩子。

c++ - 规则 "A user-defined but do-nothing destructor is also a non-trivial destructor"是否过于严格?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。ImprovethisquestionclassBase{public:~Base(){}private:intval;};Basebase;//aglobalvariable你看,析构函数什么都不做,和c++编译器提供的默认析构函数一样。但是根据帖子Whatisanon-trivialdestructorinC++?,析构函数仍然是一个非平凡的析构函数我知道,标准中的每条规则都必须严格。但是,根据我粘贴的上面的代码,用户定义

c++ - 禁用关于 "underscore-prefixed user-defined literals"的 GCC 警告

我的一个客户有很多代码使用了“ui64”、“ui32”等...后缀,我需要移植它。为了避免验证几个正则表达式查找+替换的可能漫长的夜晚,我将所述后缀重现为用户定义的文字。我正在寻找“-Wno-xxx”标志,用于作为结果弹出的“前面没有‘_’”警告。我搜索了警告列表here,但我的大脑目前正遭受相当严重的字母汤综合症,所以我可能错过了。我使用的是cygwin附带的g++4.8.2。 最佳答案 我相信您正在寻找-Wno-literal-suffix。从gcc-7开始(见此处liveongodbold),这个选项也是turnsoffwar