问题标签 [copy-constructor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 有没有复制 Gtk 小部件的好方法?
有没有办法使用 C 中的 Gtk 库来克隆 Gtk 按钮(例如),并将其打包到应用程序的其他位置。我知道你不能两次打包同一个小部件。并且这段代码显然不起作用,但显示了当我尝试按钮的浅拷贝时会发生什么:
周围的代码创建了一个 vbox 并将其打包在一个窗口中并运行 gtk_main()。这将导致这些难以理解的错误消息:
同样,如果我要编写自己的 GObject(不一定是 Gtk 小部件),是否有编写复制构造函数的好方法。我认为它应该是一个带有可选钩子的接口,并且主要基于属性,以某种方式处理类的层次结构。
我想这样做:
如果 GtkButton 可以使用理论上的可复制接口。
c++ - 我可以将指针传递给超类,但创建子类的副本吗?
我有一个函数,它接受一个指向超类的指针并对其执行操作。但是,在某些时候,该函数必须对输入的对象进行深层复制。有什么办法可以进行这样的复制吗?
我想到将函数设为模板函数并简单地让用户传递类型,但我希望 C++ 提供更优雅的解决方案。
c# - 可以使用反射来实例化对象基类属性吗?
像这样:
这个例子有点简单(它来自 Jira API - RemoteStatus 有 4 个属性),但想象一下基类有 30 个属性。我不想手动设置所有这些值,特别是如果我继承的类只有几个额外的属性。
反思似乎暗示了一个答案。
我在使用构造函数中的继承 (publix X () : y)看到我可以调用基类构造函数(我认为?如果我错了请纠正我),但我的基类没有构造函数 - 它派生自jira wsdl
编辑
我可以想象 2 个有效的解决方案:上面概述的一个,以及某种类似的关键字this.baseClass
,type(baseclass)
并且被这样操作,充当一种指向this
. 所以,this.baseClass.name = "Johnny"
将是完全相同的事情this.name = "Johnny"
出于所有意图和目的,我们假设基类有一个复制构造函数——也就是说,这是有效的代码:
编辑2 这个问题更像是一个思考练习而不是一个实际问题——为了我的目的,我可以很容易地做到这一点:(假设我的“基类”可以复制)
c++ - C++ auto_ptr 和复制构造
如果我有课
如何为 C 定义复制构造函数:
它不可能是
因为我想如果我从其他人那里复制 auto_ptr,我已经通过删除所有权更改了其他人。将复制构造函数定义为是否合法
c++ - 为什么复制赋值运算符必须返回引用/常量引用?
在 C++ 中,我不清楚从复制赋值运算符返回引用的概念。为什么复制赋值运算符不能返回新对象的副本?另外,如果我有 class A
,以及以下内容:
operator=
定义如下:
c++ - 防止复制构造和分配返回值引用
如果我有一个函数返回对我无法控制其源的类实例的引用,请说list<int>
:
我想确保它的值只分配给另一个引用,例如:
如果用户改为:
我希望它是一个编译时错误,因为用户只会操作列表的副本而不是原始列表(这绝不是我的应用程序想要/想要的)。
有什么方法可以防止上面的复制构造和赋值(比如通过某种“包装器”类)?
理想情况下,如果要使用某个包装类,比如说wrapper<T>
,我希望它适用于任何类型的对象T
。
是的,我知道对于我可以控制的类,我可以简单地使复制构造函数和赋值运算符private
像:
禁止复制构建和转让;但是,如上所示,我想这样做,例如,std::list
我不能简单地制作复制构造函数和赋值运算符private
。
c++ - g++中是否存在这样的优化?
考虑以下代码片段:
这将是什么行为?将这段代码:
从method()返回值优化返回的someClass实例的引用,然后对引用执行someClass的复制构造函数?
避免以某种方式调用复制构造函数?
具体来说,我有返回非常大的列表的方法,我想避免在每个返回值上调用复制构造函数。
编辑:Erm,对不起,代码现在编译......
c++ - 我们什么时候必须使用复制构造函数?
我知道 C++ 编译器为一个类创建了一个复制构造函数。在这种情况下,我们必须编写用户定义的复制构造函数吗?你能举一些例子吗?
c++ - 什么是复制和交换成语?
这个成语是什么,应该在什么时候使用?它解决了哪些问题?使用 C++11 时习语会发生变化吗?
尽管在很多地方都提到过,但我们没有任何单一的“它是什么”问题和答案,所以在这里。以下是之前提到的地方的部分列表:
c++ - C++ 复制构造函数有什么大惊小怪的?
可能重复:
我们什么时候必须使用复制构造函数?
为什么 C++ 复制构造函数如此重要?我刚刚了解了他们,我不太明白他们有什么大惊小怪的。如果您使用指针,似乎您应该始终为您的类编写一个复制构造函数,但为什么呢?
谢谢,博达赛多。