[英]how to define new operator in c++
我實際上是 C++ 的新手,我正在嘗試以專業的方式學習它。 我熟悉了 c++ 中定義運算符的基本知識,但我認為有一些限制,比如你只能定義帶有定義符號的運算符。 也就是說,例如,如果我想定義向量化乘法(就像 MATLAB 中的那樣),這是不可能的。 有誰知道定義此類運算符的方法?
A*B = 返回一個新矩陣,其新維度折衷 A 和 B A.*B = 返回一個新矩陣,其所有成員都是 A(i,j)*B(i,j) 相乘的結果
通常,您可以使用結構創建自定義運算符:
struct operation {
T operator () (T const &a, T const &b) {
//code
}
};
其中T
是一種數據類型。
對於您的情況,運算符將如下所示:
struct matrix_multiplication {
vector <vector<int>> operator () (vector <vector<int>> const &a, vector <vector<int>> const &b) {
//insert multiplication operation here
}
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.