Публикации по теме '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 просмотров
schedule
27.08.2022
удаление перегрузки, чисто виртуальный вызов функции
Итак, я хочу перегрузить удаление абстрактного виртуального класса. Это вызовет 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 просмотров
schedule
20.05.2023
Симметричные бинарные операторы 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 просмотров
schedule
07.01.2024
Могут ли интеллектуальные указатели выборочно скрывать или перенаправлять вызовы функций на объекты, которые они оборачивают?
Я работаю над проектом, в котором подсчитываются ссылки на определенные объекты - это очень похоже на настройку COM. В любом случае, в нашем проекте есть интеллектуальные указатели, которые избавляют от необходимости явно вызывать Add() и Release()...
255 просмотров
schedule
11.10.2023
Перегрузка бинарного оператора в шаблонном классе
Недавно я пытался оценить свои возможности перегрузки/шаблона оператора и в качестве небольшого теста создал класс Container ниже. Хотя этот код отлично компилируется и корректно работает в MSVC 2008 (отображает 11), и MinGW/GCC, и Comeau задыхаются...
6031 просмотров
schedule
14.07.2022
разница между глобальным оператором и оператором-членом
Есть ли разница между определением глобального оператора, который принимает две ссылки на класс, и определением оператора-члена, который принимает только правильный операнд?
Глобальный:
class X
{
public:
int value;
};
bool...
35089 просмотров
schedule
04.07.2023
как обратиться к текущей структуре в перегруженном операторе?
У меня есть структура, для которой я хочу определить относительный порядок, определив операторы ‹, >, ‹= и >=. на самом деле в моем порядке не будет никакого равенства, поэтому, если одна структура не меньше другой, она автоматически больше.
Я...
617 просмотров
schedule
09.02.2023
Почему объекты iostream не перегружают оператор bool?
В этот ответ я говорю о используя преобразование объекта std::ifstream в bool , чтобы проверить, находится ли поток в хорошем состоянии. Я посмотрел в книге Josuttis дополнительную информацию (стр. 600, если вам интересно), и оказалось, что...
3737 просмотров
schedule
12.08.2022
Помощник класса и строки в Delphi Win32
Есть ли способ с текущим delphi реализовать.
а) Строка (как класс) с перегрузками операторов (т.е. +, =)
b) Class Helper, чтобы можно было добавлять пользовательские строковые методы
Я понимаю, что строка является нативным типом, поэтому...
2123 просмотров
schedule
15.06.2022
Как глобально перегрузить оператор opAssign в C++
Просто интересно, как их перегрузить.
Операторы opAssign похожи на addAssign(+=) и subAssign(-=).
«глобально» означает, что они не перегружены как функции-члены, а просто оператор действует на операнды
Для этих операторов opAssign они...
2488 просмотров
schedule
01.08.2022
Перегрузка операторов C++ и неявное преобразование
У меня есть класс, который инкапсулирует некоторую арифметику, скажем, вычисления с фиксированной точкой. Мне нравится идея перегрузки арифметических операторов, поэтому я пишу следующее:
class CFixed
{
CFixed( int );
CFixed( float );
};...
7985 просмотров
schedule
14.07.2023
Перегрузка оператора динамического поиска 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