草庐IT

lldb_private

全部标签

c++ - 将私有(private)库静态链接到公共(public)库以隐藏符号

关闭。这个问题需要更多focused.它目前不接受答案。想改善这个问题吗?更新问题,使其仅关注一个问题editingthispost.2年前关闭。Improvethisquestion考虑以下:我正在用C++开发一个静态库X,它在内部使用著名的静态库Yv2.0;我只想分发一个库X',即X和Y静态链接/合并以供内部使用;开发人员想在他的可执行文件中使用X';此外,他需要Yv1.0(不是v2.0,就像我一样);Yv1.0和v2.0有一些共同的符号,其中一些共同符号的行为也不同。我开发X时严格要求将Yv2.0用于某些内部业务。这就是说我无论如何都不能恢复到Yv1.0。另一方面,开发者对使用Y

c++ - 派生类析构函数如何在以下程序中被调用为私有(private)的?

#includeclassbase{public:virtual~base(){std::cout上面的程序可以正常编译和运行。派生类析构函数如何被调用为私有(private)的? 最佳答案 这不仅会发生在析构函数中。您可以用私有(private)函数覆盖任何虚拟公共(public)函数。#includeclassbase{public:virtualvoidx(){std::coutx();//OK//((derived*)pt)->x();//error:‘virtualvoidderived::x()’isprivateder

c++ - 如何在 UML 类图中显示私有(private)继承关系

在C++中,由于私有(private)继承不被视为is-a关系,它应该如何在类图中显示以及是否显示为has-a关系那么如何区分组合和私有(private)继承呢? 最佳答案 应该是Composition关系(子类这边的实心黑菱形),因为:私有(private)继承的意思是“根据……实现”,但在这方面,它可以简单地视为“具有”关系。子类的实例明确拥有对象的基类部分,并且所有权不与任何其他对象共享。 关于c++-如何在UML类图中显示私有(private)继承关系,我们在StackOverf

c++ - 如何允许全局函数访问私有(private)成员

如何允许全局函数访问私有(private)成员?限制是你不能直接friend类声明中的全局函数。原因是因为我不希望用户必须在头文件中看到所有这些全局函数。函数本身是在实现文件中定义的,我希望尽可能将它们隐藏在那里。现在您可能想知道为什么我有这么多这样的全局函数。为简单起见,我将各种WNDPROC函数与windows注册为回调,并且它们必须是全局的。此外,他们必须能够更新对不同类来说是私有(private)的信息。我提出了2个解决方案,但都有些棘手。解决方案1.制作所有需要后门的成员protected而不是private.在实现文件中,声明一个继承自原始类但为protected成员提供公

c++ - 为什么 GCC 允许从私有(private)嵌套类继承?

考虑以下代码:classA{classB{};};templateclassD:A::B{};voidf(){Dd;}D继承自A::B这是一个私有(private)嵌套类。我原以为这是一个错误,但GCC接受了这个代码。是GCC中的错误还是我遗漏了什么? 最佳答案 我找到了答案。因为它可能对其他人有用,所以我将其发布在这里-这是GCC错误47346. 关于c++-为什么GCC允许从私有(private)嵌套类继承?,我们在StackOverflow上找到一个类似的问题:

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

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

constructor - 在 kotlin 中,如何将主构造函数中的属性 setter 设为私有(private)?

在kotlin中,如何将主构造函数中的属性setter设为私有(private)?classCity(valid:String,varname:String,vardescription:String=""){funupdate(name:String,description:String?=""){this.name=namethis.description=description?:this.description}}我希望属性name的setter是私有(private)的,而它的getter是公开的,我该怎么做? 最佳答案

constructor - 在 kotlin 中,如何将主构造函数中的属性 setter 设为私有(private)?

在kotlin中,如何将主构造函数中的属性setter设为私有(private)?classCity(valid:String,varname:String,vardescription:String=""){funupdate(name:String,description:String?=""){this.name=namethis.description=description?:this.description}}我希望属性name的setter是私有(private)的,而它的getter是公开的,我该怎么做? 最佳答案

c++ - 为什么声明私有(private)基类会使类型名称不可访问?

令我感到惊讶的是,在以下示例中声明Middle的基类私有(private)使得该名称在后续派生中无法作为类型使用。classBase{public:Base(Baseconst&b):i(b.i){}inti;};classMiddle:privateBase{//因此使用g++(Debian6.3.0-18+deb9u1)6.3.020170516...编译g++-std=c++11privateBase.cpp我得到以下诊断信息:privateBase.cpp:15:9:error:‘classBaseBase::Base’isinaccessiblewithinthisconte

c++ - 私有(private)移动构造函数是为了防止移动吗?

C++中的一个常见模式是将复制构造函数设为私有(private):classA{public://...private:A(constA&);};但是下面的代码会编译吗(在C++11/14中):Af();autoa=f();该标准包含有关自动生成移动构造函数的信息。我既无法访问标准,也无法访问实际生成移动构造函数的编译器。我的问题是:我必须写吗classA{public://...private:A(constA&);A(constA&&);};为了防止移动(和operators=类似)? 最佳答案 Butwillthefollow