Программы на C++. Форум разработчиков
Anonymous
Почему явно заданные по умолчанию операторы сравнения удаляются, если класс содержит ссылочный член?
Сообщение
Anonymous » 14 ноя 2024, 10:12
Я пытался использовать по умолчанию и оператор ==, и оператор в простом классе, который содержит такой ссылочный элемент:
Код: Выделить всё
#include
#include
class Simple
{
public:
Simple(const std::string& data)
: data_(data)
{
}
auto operator(const Simple&) const = default;
private:
const std::string& data_;
};
int main()
{
std::string str1 = "one";
Simple s1(str1);
std::string str2 = "two";
Simple s2(str2);
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79183960/why-are-explicitly-defaulted-comparison-operators-deleted-when-the-class-contain[/url]
1731568361
Anonymous
Я пытался использовать по умолчанию и оператор ==, и оператор в простом классе, который содержит такой ссылочный элемент: [code]#include #include class Simple { public: Simple(const std::string& data) : data_(data) { } auto operator(const Simple&) const = default; private: const std::string& data_; }; int main() { std::string str1 = "one"; Simple s1(str1); std::string str2 = "two"; Simple s2(str2); std::cout Подробнее здесь: [url]https://stackoverflow.com/questions/79183960/why-are-explicitly-defaulted-comparison-operators-deleted-when-the-class-contain[/url]
0 Ответы
33 Просмотры
Последнее сообщение Anonymous
25 июн 2024, 00:05
0 Ответы
15 Просмотры
Последнее сообщение Anonymous
25 июн 2024, 17:03
Компилятор по умолчанию генерирует ссылочный оператор (в C++)?
Anonymous »
16 янв 2025, 23:32 » в форуме
C++
Все авторы пишут, что по умолчанию компилятор генерирует
конструктор по умолчанию
конструктор копирования
оператор присваивания
деструктор
На днях мой друг пригласили на собеседование и там ему сказали, что по умолчанию компилятор генерирует...
0 Ответы
11 Просмотры
Последнее сообщение Anonymous
16 янв 2025, 23:32
«Полученный указатель на член» на «базовый указатель на член».
Anonymous »
30 май 2025, 18:21 » в форуме
C++
Чтобы поддержать магию времени компиляции, я хотел бы использовать указатели для таких участников, как:
struct BaseT
{
};
struct DerivedT: public BaseT
{
};
struct TestT
{
DerivedT testMem;
typedef BaseT (TestT::* TestTMemPtr);
constexpr...
0 Ответы
5 Просмотры
Последнее сообщение Anonymous
30 май 2025, 18:21
0 Ответы
6 Просмотры
Последнее сообщение Anonymous
30 май 2025, 21:28