Свързани въпроси 'assignment-operator'
Ново поставяне и присвояване на клас с постоянен член
Защо е това недефинирано поведение?
struct s
{
const int id; // <-- const member
s(int id):
id(id)
{}
s& operator =(const s& m) {
return *new(this) s(m); // <-- undefined behavior?
}
};...
946 изгледи
schedule
27.09.2022
Има ли смисъл да се използва идиома за преместване и размяна на преместваем и некопируем клас
Ако имам клас като
class Foo{
public:
Foo(){...}
Foo(Foo && rhs){...}
operator=(Foo rhs){ swap(*this, rhs);}
void swap(Foo &rhs);
private:
Foo(const Foo&);
// snip: swap code
};
void swap(Foo& lhs, Foo&...
2001 изгледи
schedule
04.10.2022
Как се обработват членовете на масива на C++ във функциите за контрол на копирането?
Това е нещо, което се чудех от дълго време. Вземете следния пример:
struct matrix
{
float data[16];
};
Знам какво правят конструкторът и деструкторът по подразбиране в този конкретен пример (нищо), но какво да кажем за конструктора за...
5583 изгледи
schedule
24.10.2022
Оператор за присвояване на производен клас наследява основен клас?
Струва ми се, че производният клас не наследява оператор за присвояване на базов клас ако производният клас наследява оператор за присвояване на основен клас, можете ли да обясните следния пример
В следния код аз заменям базов клас operator= в...
9396 изгледи
schedule
13.11.2022
Задачи на Java
Уча за изпит и преглеждам примерна програма и съм объркан. Ето кода:
public class Problem1 {
public static void f(A X)
{
A Y = X;
Y.key = X.key + 1;
}
public static void f(B X)
{
B Y = new B();
Y.key = X.key + 2; //Y.key = 12...
298 изгледи
schedule
12.10.2022
операторът за виртуално присвояване на производния клас не се извиква
Аз съм доста нов в C++ и се опитвам да се справя с виртуалното присвояване. Програмата по-долу се състои от абстрактен базов клас с два члена на данни и производен клас с един. Когато задам абстрактен указател към производен обект, програмата...
663 изгледи
schedule
05.03.2024
Актуализирайте подмножество от data.table въз основа на присъединяване
Имам две таблици с данни, DT1 и DT2:
set.seed(1)
DT1<-data.table(id1=rep(1:3,2),id2=sample(letters,6), v1=rnorm(6), key="id2")
DT1
## id1 id2 v1
## 1: 2 e 0.7383247
## 2: 1 g 1.5952808
## 3: 2 j 0.3295078
## 4: 3 n...
6917 изгледи
schedule
14.03.2024
C++ проверка на типа по време на компилация
всичко. Аз съм доста нов в C++ и пиша малка библиотека (най-вече за моите собствени проекти) в C++. В процеса на проектиране на йерархия на типове се натъкнах на проблема с дефинирането на оператора за присвояване.
Възприех основния подход, който...
2419 изгледи
schedule
13.05.2024