簡體   English   中英

如何在 c++ 中定義新運算符

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM