Вопросы по теме 'assignment-operator'
Объявление ссылки на объект и оператора присваивания
Я чувствую, что этот вопрос достаточно прост, чтобы быть где-то там, но я не могу найти на него ответ.
Предположим, у меня есть этот код:
//class member function
std::map< std::string, std::string > myMap;
const std::map< std::string,...
6360 просмотров
schedule
21.12.2023
Явный конструктор копирования
Я расширил std::string, чтобы удовлетворить свои потребности в написании пользовательской функции, встроенной в строковый класс с именем CustomString .
Я определил конструкторы:
class CustomString : public std::string {
public:...
25705 просмотров
schedule
06.09.2022
Какие проблемы с написанием такого задания?
На днях у меня был разговор с моим другом о назначении и построении объектов, и он отметил, что назначение a = b для объектов (семантически) эквивалентно уничтожению a и последующему воссозданию его из b (в том же месте) .
Но, конечно, никто...
134 просмотров
schedule
26.09.2022
С++ с использованием copy-ctor при использовании operator=() - как именно это работает?
Каковы именно правила для С++ преобразования присваивания operator=() в конструкцию? Например, Foo foo = bar фактически вызовет конструктор Foo, принимающий bar в качестве аргумента, если он существует. Я гуглил, как это работает, но ничего не...
81 просмотров
schedule
31.01.2024
Как работает выражение равенства в заполнителе printf?
У меня есть следующий фрагмент кода:
main( )
{
int k = 35 ;
printf ( "\n%d %d %d", k == 35, k = 50, k > 40 ) ;
}
который производит следующий вывод
0 50 0
Я не уверен, что понимаю, как первое значение printf становится 0 ....
459 просмотров
schedule
31.10.2022
Оператор виртуального присваивания, не разрешающий static_cast
У меня есть следующий код MWE:
#include <algorithm>
class Base{
public:
int baseMember;
friend void swap(Base& in, Base& out)
{
using std::swap;
swap(in.baseMember, out.baseMember);
}
virtual...
81 просмотров
schedule
01.11.2023
Почему нельзя присвоить указатель массиву?
В C я кодирую это
char * real = strdup("GEORGE");
char one[1024];
one = real;
и выдает ошибку:
недопустимый инициализатор
какие-либо предложения? есть ли шанс, что я могу сделать массив символов равным указателю char?
277 просмотров
schedule
24.12.2023
почему мой конструктор копирования не вызывается, когда я копирую и меняю идиому?
В следующем коде, когда используется оператор присваивания, почему не вызывается конструктор копирования или почему ему не соответствует печать?
#include <iostream>
#include <cstring>
using std::cout;
using std::endl;
class Person {...
113 просмотров
schedule
13.01.2024
Как добиться троичного присваивания в Javascript?
Я хотел бы переназначить переменную класса в Javascript (или Typescript) с помощью тернарного оператора. Переназначение this.foo зависит от текущего значения this.foo , которое я могу обновить следующим образом:
setFoo = () => {
this.foo...
91 просмотров
schedule
26.12.2023