Вопросы по теме 'assignment-operator'

Проверка типов C++ во время компиляции
все. Я новичок в C++ и пишу небольшую библиотеку (в основном для своих собственных проектов) на C++. В процессе проектирования иерархии типов я столкнулся с проблемой определения оператора присваивания. Я использовал базовый подход, который в...
2419 просмотров

Как члены массива C++ обрабатываются в функциях управления копированием?
Это то, что я задавался вопросом в течение длительного времени. Возьмем следующий пример: struct matrix { float data[16]; }; Я знаю, что делают конструктор и деструктор по умолчанию в этом конкретном примере (ничего), но как насчет...
5583 просмотров

Имеет ли смысл использовать идиому перемещения и замены для подвижного и некопируемого класса?
Если у меня есть класс, например 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&...
2001 просмотров

оператор виртуального присваивания производного класса не вызывается
Я новичок в C ++ и пытаюсь разобраться с виртуальным назначением. Приведенная ниже программа состоит из абстрактного базового класса с двумя членами данных и производного класса с одним. Когда я устанавливаю абстрактный указатель на производный...
663 просмотров
schedule 05.03.2024

Производный класс наследует оператор присваивания базового класса?
Мне кажется, что производный класс не наследует оператор присваивания базового класса если производный класс наследует оператор присваивания базового класса, не могли бы вы объяснить следующий пример В следующем коде я переопределяю оператор...
9396 просмотров
schedule 13.11.2022

Обновить подмножество 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:...
6917 просмотров

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 =...
298 просмотров

Класс C # как одно значение в классе // Имитация поведения int
Есть ли способ заставить мой новый класс имитировать поведение int или любого типа Valuetype? Я что-то хочу, поэтому эти задания действительны MyClass myClass = 1; int i = myClass; var x = myClass; // And here is important that x is of type...
353 просмотров

Размещение нового и назначение класса с константным членом
Почему такое неопределенное поведение? 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 просмотров

Двойное освобождение или повреждение (out) в операторе присваивания
Я работаю над параллельным кодом. В моей основной функции у меня есть цикл по времени, и в начале мне нужно скопировать класс с помощью оператора присваивания. Но каким-то образом на 4-м шаге на одном из процессоров возникает ошибка двойного...
277 просмотров
schedule 18.02.2024

Почему оператор ++: в языке Scala такой странный?
Я использую оператор ++: для получения коллекции из двух коллекций, но результаты, которые я получаю с помощью этих двух методов, противоречивы: scala> var r = Array(1, 2) r: Array[Int] = Array(1, 2) scala> r ++:= Array(3) scala> r...
218 просмотров

В чем разница между присваиванием ‹- и -› в R?
Я заметил, что работают как ‹- 4, так и 4 -> a. Так в чем же разница? Поскольку оператор ‹- популярен, для чего нужен другой?
23 просмотров
schedule 26.03.2024

Является ли = оператором, оператором или разделителем?
См. Является ли присваивание оператором в Python? Ответ гласит: Присваивание всегда является оператором в Python. Теперь просмотрите эту ссылку операторов назначения . См. раздел Примечание (выделено мной): Примечание. Если...
92 просмотров
schedule 23.04.2024

Можно ли использовать оператор присваивания в операторах if. Как будто операторы используют логическое выражение
Я ожидал ошибки в if(b=5) , так как оператор присваивания используется в операторе if. Code: #include <stdio.h> int main() { int a=10, b=10; if(b=5) a--; printf("%d, %d", a, b--); return 0; }
131 просмотров

Как производственное правило ECMAScript AssignmentExpression может создать `foo = 42`?
Как указано в спецификации (да, 5.1, это намеренно ): AssignmentExpression : ConditionalExpression LeftHandSideExpression = AssignmentExpression LeftHandSideExpression AssignmentOperator AssignmentExpression Основываясь на этом...
46 просмотров