草庐IT

Deployment-friendly

全部标签

c++ - 在没有 friend 的情况下授予对私有(private)构造函数的访问权限?

我正在写一些代码,我遇到了类似的情况:structBar;structFoo{friendstructBar;private:Foo(){}voidf(){}voidg(){}};structBar{Foo*f;Bar(){f=newFoo();}~Bar(){deletef;}};intmain(){Barb;}我宁愿Bar不是Foo的friend,因为除了Foo的构造函数Bar不需要访问任何Foo的私有(private)方法(因此不应该访问)。有没有办法只允许Bar创建Foo而不让它们成为friend?PS:意识到问题可能不是100%清楚。我不介意是否通过friend,只是所有Ba

c++ - 我如何在图书馆内让 main 成为我类(class)的 friend ?

请参阅myfirstattemptatansweringthis.我之前为了简化事情而忽略了讲述整个故事。事实证明我的例子有效!对不起。整个故事是,这是一个库,在一个文件中包含一个类,在另一个文件中包含主要内容,所有这些都链接到我的库中。该库为流程框架提供了基础,这就是为什么main在库中而不是流程中。下面是我所拥有的精简版。pf.hppusingnamespacestd;namespaceMyNamespace{classProcessManager{public:friendintmain(intargc,char**argv);private:voidtest();};};pf.

c++ - 如何让 boost::make_shared 成为我类(class)的 friend

我编写了一个带有protected构造函数的类,因此只能使用静态create()函数生成新实例,该函数将shared_ptr返回我的类。为了提供有效的分配,我想在create函数中使用boost::make_shared,但是编译器提示说我的类构造函数在boost::make_shared中受到保护。我决定让我的boost::make_shared成为我类的friend,但我对语法感到困惑。我试过了templatefriendboost::shared_ptrboost::make_shared(constConnectionManagerPtr&,conststd::string&)

c++ - 具有继承的 friend 类

如果我有两个继承类如下:classA{...}classB:publicA{...}第三个类定义为friend类A:classC{friendclassA;}我是否能够从classB(也是A类型的对象)访问classC的所有成员,就好像我一开始就定义了classBfriendClass吗? 最佳答案 friendship既不继承也不传递。两个类之间是严格的一对一关系。classA{friendclassB;intAries;};classB{friendclassC;intTaurus;};classC{intLeo;voidCap

c++ - 将 'friend class xxxxx' 放在公共(public)部分还是私有(private)部分会有什么不同吗?

classA1{public:friendclassB;}classA2{private:friendclassB;}有什么不同吗? 最佳答案 不,访问说明符对friend声明没有影响。 关于c++-将'friendclassxxxxx'放在公共(public)部分还是私有(private)部分会有什么不同吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2722222/

c++ - 基类的虚拟 friend 函数?

我正在学习这门语言,这是一个菜鸟的疑问。是否可以使用虚拟friend功能?我不知道这是否可能,我什至没有测试它,但它在某些情况下可能很有用。例如,对于重载的运算符DerivedClassdc;BaseClass&rbc=dc;cout我猜这是可能的,但我不确定,因为友元函数没有在类设计中实现,理论上也不是它的一部分(尽管在这个例子中,从概念上讲,operator编辑:我的担忧与这个例子有关:BaseClassbc;DerivedClassdc;BaseClass*pArr[2];pArr[1]=bc;pArr[2]=dc;for(inti=0;i在这个混合对象数组中,我希望为每个对象调

c++ - VS2015 更新 1 个错误,或错误的 C++ : Why can't a friend class access its friend's protected destructor?

以下似乎是ZeroCICE在其自动生成的代码中采用的一种模式,在我看来,这似乎是他们现在为其工具的许多版本制作单例(不确定为什么)的一种方式。各种编译器都没有问题,直到今天发现VisualStudio2015Update1(VS版本14.0.24720.00,VC++版本19.00.23506)报错。在Update1之前,VS2015也没有问题。我不确定它是带有Update1的VS2015C++编译器中的错误(回归?),还是其他编译器放任自流的错误(不符合标准)C++代码。这是代码模式的示例:classFoo{protected:virtual~Foo(){}friendclassFo

.net - 制作内存密集型后台应用程序 "friendly"

我有一个应用程序需要定期使用计算简单的算法来处理大块数据。事实证明,我还可以通过将数据block保存在内存缓存中来防止因硬盘驱动器访问而减慢系统速度。该应用程序是低优先级应用程序,因此我正在努力将其对系统的影响降到最低,这意味着使用额外的内存(如果可用)来减少CPU和硬盘驱动器的负载。缓存数据只有64MB字节block,内存中的数据越多,程序对驱动器的开销就越小。我需要做的是,每当系统上的任何其他应用程序需要比可用物理内存更多的物理内存时转储内存中的缓存,并且速度足够快,以至于用户永远不会感觉到系统因高内存需求而变慢。我对如何在.NET应用程序中实现这一点特别感兴趣。

windows - Win32 : Suggestions for manifested app's testing vs deployment

从WindowsVista开始,Microsoft添加了一类兼容性垫片,允许应用程序假定它具有管理文件和注册表访问权限继续运作。换句话说:在WindowsXP上失败的应用程序可以在WindowsVista上运行。可以通过向应用程序list添加一个部分来禁用这些操作系统提供的错误修复,声明应用程序应该运行asInvoker:理想情况下,开发人员会测试他们的应用程序以确保它不会(不必要地)需要管理权限。为了让我对此进行测试,我需要将其显示为asInvoker。但归根结底,我不会将应用程序发布给显示为asInvoker的客户。如果我确实遗漏了什么,我不希望用户受到影响。我想要Microsof

windows - Windows 上的 Beanstalk : How do I prevent commands running on re-deployment?

我正在尝试利用AWSElasticBeanstalk的功能来自定义它创建的EC2实例。这需要创建一个.configfileinthe.ebextensionsdirectory.您可以指定在将应用程序部署到实例时应执行的命令数量。我用它来安装一些msi文件,并配置EC2为实例分配一个唯一的名称。然后需要重新启动。我的问题是我只希望在首次部署实例时运行这些命令。当我将仅代码更改部署到现有实例时,不应运行它们。我试过使用“test”参数,它应该会阻止命令运行。我创建一个文件作为最后一个命令,然后我在“测试”参数中检查该文件是否存在。但这似乎不起作用。我的配置文件是这样的:#Filestru