草庐IT

private-messaging

全部标签

c++ - 在 C++ Win32 应用程序中,我如何确定私有(private)字节、工作集和虚拟大小

这个问题在这里已经有了答案:Whatisthewin32APIfunctionforprivatebytes?(3个答案)关闭7年前。我正在为教育目的编写一些代码,我希望能够从用C++编写的Windows控制台程序中打印出这些内存使用值。

c++ - 为什么 Visual C++ 6 提示私有(private)析构函数

以下代码适用于VisualC++2008。但是,当涉及到VisualC++6时,出现以下错误。我可以知道为什么,以及如何修复错误,但仍然使析构函数保持私有(private)。classX{public:staticX&instance(){staticXdatabase;returndatabase;}private:X(){}//Privateconstructor~X(){}//PrivatedestructorX(constX&);//Preventcopy-constructionX&operator=(constX&);//Preventassignment};intmain

c++ - 列表初始化不能用于私有(private)成员吗?

structA{private:inta,b,c;};intmain(){Aa1{};Aa2={};return0;}代码由VC++2012编译(最新更新为“2012年11月CTP”)。我希望a1和a2是零初始化的,但不是。a1和a2没有初始化。为什么? 最佳答案 你是说微软的社区技术预览编译器,他们甚至没有足够的信心将其称为beta,其中有bug?;)这是一个错误;它应该像你期望的那样运行。请照原样报告。 关于c++-列表初始化不能用于私有(private)成员吗?,我们在StackO

c++ - 允许访问私有(private)成员

这个问题在某种程度上是thisone的延续我已经发布了。我想做的:我的意思是允许访问基类的私有(private)成员A在派生类中B,具有以下限制:我想访问的是一个结构--std::map,实际上——,不是一种方法;我不能修改基类;基类A没有模板化的方法,我可以作为后门替代方案重载——我不会添加这样的方法,因为它会反对第二个约束。作为一个可能的解决方案,有人指出我是litb的解决方案(post/blog),但是,对于我来说,我一直无法理解这些帖子中所做的事情,因此,我无法得出解决问题的方法。我正在尝试做的事情:以下代码来自litb的解决方案,提供了一种如何从类/结构访问私有(privat

c++ - 这有可能继承私有(private)类但使成员公开吗?

我想让成员继承私有(private)。我想我看到了一个将它们公开的例子,尽管如此,这个事实是用private关键字派生的。我的问题:如何去做,如果可能的话,难道不应该禁止吗?classU{public:inta;protected:intb;private:intc;};classV:privateU{public:inti;//canmakeapublicagain?}; 最佳答案 您不能将c公开,因为它对U是私有(private)的,并且不能从V访问(此外,这样的设计会require这可能是有缺陷的,因为它会违反封装-一个类不应

c++ - 在公共(public)成员函数中返回私有(private) unique_ptr

考虑以下类原型(prototype):classObjHandler{std::unique_ptrGetPtr(){returnobj;}private:std::unique_ptrobj;};这会生成一个编译时错误,说明std::unique_ptr的复制构造函数已被删除。为什么这里不应用移动语义?是否与GetPtr()不拥有obj指针有关?我应该如何实现我的代码(我需要一个成员函数以最小的开销返回一个指向流的拥有指针)? 最佳答案 unique实际上意味着“独特的所有权”。创建所有权的拷贝是没有意义的,因为那样它就不再是唯一

c++ - 错误 C2248 : 'std::basic_ios<_Elem,_Traits>::basic_ios' : cannot access private member declared in class 'std::basic_ios<_Elem,_Traits>'

我无法理解这个错误。这个错误不在我正在调试的类中。(是吗?)错误是:c:\programfiles\microsoftvisualstudio10.0\vc\include\fstream(890):errorC2248:'std::basic_ios::basic_ios':cannotaccessprivatememberdeclaredinclass'std::basic_ios'1>with1>[1>_Elem=char,1>_Traits=std::char_traits1>]1>c:\programfiles\microsoftvisualstudio10.0\vc\inc

c++ - 从类定义中省略 "private"关键字是否令人困惑?

我最近删除了类定义中指定的private,因为它位于顶部,紧跟在class关键字之后:classMyClass{private:intsomeVariable;//...我认为这是多余的。一位同事不同意这一点,称它有效地“隐藏”了数据的private性质。我们的大多数遗留代码都明确声明了访问说明符,并且通常在整个定义中不一致地混合使用它们。我们的类(class)也往往非常大。我正在努力使我的新类足够小,以便我的类定义类似于:classMyClass{//3-4linesofprivatevariablesprotected://3-4linesofprotectedfunctionsp

c++ - 未解析的外部符号 "private: static int Math::result"

这个问题在这里已经有了答案:Whatisanundefinedreference/unresolvedexternalsymbolerrorandhowdoIfixit?(38个答案)关闭8年前。这是我的类定义:#includeusingnamespacestd;classMath{private:staticintresult;public:staticintadd(inta,intb){result=a+b;returnresult;};};这是主要的:#include#include"Amin.cpp"usingnamespacestd;intmain(){Math::add(2

c++ - 您可以覆盖基类中定义的私有(private)函数吗?

我相信,派生类只能覆盖它从基类继承的那些函数。我的理解对吗?也就是说,如果基类有一个公共(public)成员函数func,那么派生类可以覆盖成员函数func。但是如果基类有一个私有(private)成员函数foo,那么派生类就不能覆盖成员函数foo。我说的对吗?编辑在研究了SO成员给出的答案后,我想出了一个代码示例。我提到了我在代码中作为注释研究的要点。希望我是对的。谢谢/*Pointstoponder:1.Irrespectiveoftheaccessspecifier,thememberfunctionscanbeoverrideinbaseclass.Butwecannotdir