Публикации по теме 'operator-overloading'


Перегрузка функций и операторов в C++
Перегрузка функций и операторов в C++ Перегрузка функции. Перегрузка функции — это концепция программирования, согласно которой функцию можно повторно использовать с разными аргументами и типом возвращаемого значения. Например. void print(char* szMessage) и void print(int number) Перегрузка операторов. Перегрузка операторов — это концепция программирования, в соответствии с которой существующие операторы могут быть перегружены таким образом, чтобы при использовании этих..

Перегрузка оператора
Я считаю, что это самая важная и интересная особенность C++. Используя эту функцию, мы можем делать волшебные вещи. Эта статья поможет вам понять подробности о перегрузке операторов в C++. Примеры перегрузки операторов: В STL (стандартная библиотека шаблонов): строковый класс string a="Привет" string b="Мир" строка с=а+б; // В приведенной выше программе оператор + перегружен. Который используется для конкатенации двух строк. Кажется, что мы добавили два объекта, но..

Список желаний PHP: перегрузка оператора
Примечание. Это сообщение было перемещено на мой личный веб-сайт, проверьте его, чтобы прочитать самую последнюю версию и следить за моими последними публикациями: https://liamhammett.com/php -wishlist-operator-overloading-wEQXAr4p Примечание. С момента написания этого поста я наткнулся на расширение pecl-php-operator на GitHub, которое делает именно то, что я описал в этом посте, это потрясающе! php / pecl-php-operator Перегрузка оператора для..

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

Перегрузка оператора с помощью методов расширения C #
Я пытаюсь использовать методы расширения, чтобы добавить перегрузку оператора в класс C # StringBuilder . В частности, учитывая StringBuilder sb , я бы хотел, чтобы sb += "text" стал эквивалентом sb.Append("text") . Вот синтаксис для...
51568 просмотров

удаление перегрузки, чисто виртуальный вызов функции
Итак, я хочу перегрузить удаление абстрактного виртуального класса. Это вызовет deleteMe () в производном классе, который находится в другой библиотеке. Это сделано для предотвращения ошибок / сбоев, упомянутых здесь C ++ смешивает новые /...
766 просмотров
schedule 28.07.2023

Могу ли я определить в C # оператор привязки, подобный Perl (= ~)?
Мне очень нравится возможность использовать = ~ и! ~ В Perl для оценки строки по регулярному выражению. Я хотел бы перенести эту функциональность на C #, но похоже, что, хотя вы можете перегружать операторы, вы не можете создавать новые. Я...
956 просмотров
schedule 01.09.2022

2D-матрица и оператор перегрузки() / уродливый синтаксис
Я использую 2D-матрицу в одном из своих проектов. Примерно так это предлагается в C++ FAQ Lite . Удобно то, что вы можете использовать его так: int main() { Matrix m(10,10); m(5,8) = 106.15; std::cout << m(5,8); ... }...
1438 просмотров

Симметричные бинарные операторы C++ с разными типами
Я изучаю С++, и мне было интересно, смогу ли я получить некоторое представление о предпочтительном способе создания бинарных операторов, которые работают с экземплярами двух разных типов. Вот пример, который я сделал, чтобы проиллюстрировать мои...
5541 просмотров
schedule 23.10.2022

Перегрузка оператора при программировании на основе интерфейса на C #
Задний план Я использую программирование на основе интерфейса в текущем проекте и столкнулся с проблемой при перегрузке операторов (в частности, операторов равенства и неравенства). Предположения Я использую C # 3.0, .NET 3.5 и Visual...
17381 просмотров
schedule 16.11.2023

Что означает оператор = должен быть нестатическим членом?
Я нахожусь в процессе создания списка с двойной связью и перегрузил оператор =, чтобы сделать список равным другому: template<class T> void operator=(const list<T>& lst) { clear(); copy(lst); return; } но я получаю...
76049 просмотров

Могут ли интеллектуальные указатели выборочно скрывать или перенаправлять вызовы функций на объекты, которые они оборачивают?
Я работаю над проектом, в котором подсчитываются ссылки на определенные объекты - это очень похоже на настройку COM. В любом случае, в нашем проекте есть интеллектуальные указатели, которые избавляют от необходимости явно вызывать Add() и Release()...
255 просмотров

Перегрузка бинарного оператора в шаблонном классе
Недавно я пытался оценить свои возможности перегрузки/шаблона оператора и в качестве небольшого теста создал класс Container ниже. Хотя этот код отлично компилируется и корректно работает в MSVC 2008 (отображает 11), и MinGW/GCC, и Comeau задыхаются...
6031 просмотров

разница между глобальным оператором и оператором-членом
Есть ли разница между определением глобального оператора, который принимает две ссылки на класс, и определением оператора-члена, который принимает только правильный операнд? Глобальный: class X { public: int value; }; bool...
35089 просмотров
schedule 04.07.2023

как обратиться к текущей структуре в перегруженном операторе?
У меня есть структура, для которой я хочу определить относительный порядок, определив операторы ‹, >, ‹= и >=. на самом деле в моем порядке не будет никакого равенства, поэтому, если одна структура не меньше другой, она автоматически больше. Я...
617 просмотров

Почему объекты iostream не перегружают оператор bool?
В этот ответ я говорю о используя преобразование объекта std::ifstream в bool , чтобы проверить, находится ли поток в хорошем состоянии. Я посмотрел в книге Josuttis дополнительную информацию (стр. 600, если вам интересно), и оказалось, что...
3737 просмотров
schedule 12.08.2022

Помощник класса и строки в Delphi Win32
Есть ли способ с текущим delphi реализовать. а) Строка (как класс) с перегрузками операторов (т.е. +, =) b) Class Helper, чтобы можно было добавлять пользовательские строковые методы Я понимаю, что строка является нативным типом, поэтому...
2123 просмотров

Как глобально перегрузить оператор opAssign в C++
Просто интересно, как их перегрузить. Операторы opAssign похожи на addAssign(+=) и subAssign(-=). «глобально» означает, что они не перегружены как функции-члены, а просто оператор действует на операнды Для этих операторов opAssign они...
2488 просмотров
schedule 01.08.2022

Перегрузка операторов C++ и неявное преобразование
У меня есть класс, который инкапсулирует некоторую арифметику, скажем, вычисления с фиксированной точкой. Мне нравится идея перегрузки арифметических операторов, поэтому я пишу следующее: class CFixed { CFixed( int ); CFixed( float ); };...
7985 просмотров

Перегрузка оператора динамического поиска F# (?)
Невозможно определить (?) перегрузку оператора для типа: type Foo = val s : string new(s) = { s = s } static member (?) (foo : Foo, name : string) = foo.s + name let foo = Foo("hello, ") let hw = foo? world // error FS0043: The...
889 просмотров
schedule 12.05.2023

Перегрузка оператора ostream ‹‹ для статического класса?
У меня есть (упрощенный) статический глобальный класс и перегрузка оператора ‹‹ следующим образом: class Global { private: static int counter; Global(){}; public: friend ostream& operator<<(ostream &out, Global...
3629 просмотров
schedule 21.06.2023

C++ Перегрузка оператора ››
Мне нужно перегрузить оператор извлечения потока. Мне нужно сделать это, разрешив пользователю вводить строку символов в приглашении, скажем, «iamastring», а затем оператор будет извлекать каждый символ из строки и проверять, является ли это...
594 просмотров
schedule 22.04.2022

Операторы перегрузки как функция-член или функция, не являющаяся членом (другом)?
В настоящее время я создаю служебный класс, в котором будут перегруженные операторы. Каковы плюсы и минусы того, чтобы сделать их членами или не членами ( friend ) функциями? Или это вообще имеет значение? Может быть, есть лучшая практика для этого?
11511 просмотров
schedule 31.05.2022

перегрузка оператора в Python
Возможные дубликаты: Python: определение моих собственных операторов? Практические правила, когда использовать перегрузку операторов в Python Можно ли перегружать операторы в Python? Если да, можно ли определить новые операторы,...
72516 просмотров
schedule 24.07.2023