Qobjects는 ID가 아닌 것으로 가정합니다. 예를 들어 값을 복사 할 수 없습니다. 기본적으로 복사 생성자 및 할당은 qt 설명서에서 설명한대로 사용하지 않도록 설정되어 있습니다. 그러나 복제 방법을 사용하여 기존 QObject를 새로 만들 수 있습니까? 이것이 논리 오류일까요? 내가 QObject b;
QObject a;
b.cloneFrom(a
변수가 반환 될 때 단계별로 어떤 일이 발생합니다. 그것이 내장되어 있고 적합하다면, 그것은 rax/eax/ax에 던져 질 것입니다. 적합하지 않거나 내장되지 않은 경우 어떻게됩니까? 더 중요한 것은 보장 된 복사 생성자 호출이 있는가? 편집 : 소멸자는 어떻습니까? "때때로", "항상"또는 "결코"라고 불리는 것이 있습니까?
C에서 Gtk 라이브러리를 사용하여 Gtk 버튼 (예 :)을 복제하고 앱의 다른 곳에 포장하는 방법이 있습니까? 같은 위젯을 두 번 포장 할 수 없다는 것을 안다.) ( GtkButton *a = g_object_new(GTK_TYPE_BUTTON, "label", "o_0", NULL);
GtkButton *b = g_memdup(a, sizeof *a
: public class remoteStatusCounts : RemoteStatus
{
public int statusCount;
public remoteStatusCounts(RemoteStatus r)
{
Type t = r.GetType();
foreach (PropertyInfo p in t.G
void* 포인터를 초기화하기 위해 this을 사용하는 클래스가 있습니다. 하지만 문제는 그 클래스 값을으로 전달하면 포인터가 스택의 새 주소로 변경되지 않는다는 것입니다. 그래서 복사 생성자를 오버라이드하여 this의 새 주소로 포인터를 재 할당하려고 생각했습니다. 하지만 ... 내가 잘 설명 바랍니다 ... 나는 일반적으로 생성자 매개 변수에 의해 얻을
는 내가 C의 복사 생성자를 정의하려면 어떻게 template <typename T>
struct C {
...
private:
auto_ptr<T> ptr;
};
: 는 내가 원하는 때문에 template <typename T>
C<T>::C(const C& other)
할 수없는 경우 I 다른 사람이 auto_ptr을 복사하면
개체에 대한 포인터가있는 벡터의 전체 복사본이 필요하지만 개체는 C 또는 B 중 하나 일 수 있습니다. 혼란 스럽다는 것을 알고 (설명하는 방식으로) 설명해 드리겠습니다. class A {
A(const A& copyme) { }
void UnableToInstantiateMeBecauseOf() =0;
};
class B {