Результаты поиска по запросу "operator-overloading"

1 ответ

Как избежать этого предложения ложного в шаблоне SFINAE?

Поэтому я хочу написать автоматический!=: template<typename U, typename T> bool operator!=(U&& u, T&& t) { return !( std::forward<U>(u) == std::forward<T>(t) ); }но это невежливо1, Вот я и пишу // T() == U() is valid? template<typename T, ...

2 ответа

Перегрузка оператора C ++ для указателей

Интересно (просто из любопытства), почему перегрузка операторов не разрешена в C ++ для указателей. Я имею в виду что-то вроде этого: Vector2d* operator+(Vector2d* a, Vector2d* b) { return new Vector2d(a.x + b.x, a.y + b.y); } Vector2d* a = new ...

2 ответа

Переместить семантику и перегрузку операторов

Это связано сэтот ответ [https://stackoverflow.com/a/9851423/558546] предоставленный Мэтью М. о том, как использовать семантику перемещения с перегрузкой оператора + (в общем, операторы, которые не переопределяют непосредственно обратно в левый ...

ТОП публикаций

7 ответов

Перегрузка арифметических операторов в JavaScript?

Это лучший способ сформулировать этот вопрос, учитывая определение JavaScript «класс»: var Quota = function(hours, minutes, seconds){ if (arguments.length === 3) { this.hours = hours; this.minutes = minutes; this.seconds = ...

6 ответов

Могу ли я использовать '==' для сравнения двух векторов. Я попробовал и, кажется, работает нормально. Но я не знаю, будет ли это работать в более сложных ситуациях

Первый пример: int main(){ using namespace std; vector<int> v1{10, 20, 30, 40, 50}; vector<int> v2{10, 20, 30, 40, 50}; if(v1==v2) cout<<"equal"; else cout<<"unequal"; } // it returns equalВторой пример: int main(){ using namespace std; ...

2 ответа

C ++ «перегрузка» оператора if ()

Можно ли изменить поведениеif() так что: class Foo { int x; }; Foo foo; if(foo)только в том случае, если значениеx это что-то отличное от нуля? или же... Будет ли явное пользовательское преобразование типов в int работать / будет ли это ...

1 ответ

Перегрузка оператора потока вывода класса шаблона вне шаблона

Я хочу перегрузить оператор выходного потока<< вне определения класса шаблона. Реализация этого внутри класса шаблона в порядке: template <typename T,int _MaxSize=10,template <class C> class Policy=NoCheck,typename Container=std::vector<T>> ...

8 ответов

Как бы вы перегрузили оператор [] в JavaScript

Я не могу найти способ перегрузить оператор [] в JavaScript. Кто-нибудь там знает? Я думал на линии ... MyClass.operator.lookup(index) { return myArray[index]; }или я не смотрю на правильные вещи.

5 ответов

Как правильно перегрузить оператор == для иерархии классов?

Предположим, у меня есть следующая иерархия классов: class A { int foo; virtual ~A() = 0; }; A::~A() {} class B : public A { int bar; }; class C : public A { int baz; };Как правильно перегрузитьoperator== для этих классов? Если я сделаю их все ...

8 ответов

Eclipse жалуется: «Недопустимая перегрузка endl» - но код компилируется

Я написал оператор << для моего шаблонного класса: template<class T> std::ostream& operator<<(std::ostream &strm, const MyClass<T> &obj)и когда я пишу cout << myClassInstance << endl;это компилируется и запускается, но мой Eclipse CDT ...