Sự khác nhau giữa Hàm(funtion) và Toán tử(operator)

Đọc bài này, Sự khác nhau giữa malloc và new, Đạt nghĩ sẽ có bạn thắc mắc sự khác nhau giữa functionoperator. Google thì ra cái link này

Đây là câu trả lời cụ thể:

Operators are keywords with a fixed syntax. Those which can be overloaded might vary a bit in syntax, but that’s within the boundaries. The new operator is still spelled new, even when overloaded and the syntax of invoking it is always the same.

Function names are identifiers, which can be almost arbitrary. There’s no syntactic reason you couldn’t do away with malloc() and use

bool my_fancy_alloc(void*& memory, unsigned char size, bool zero_it);

instead. (Mark: There are other reasons, though. Like your fellow-workers’ sanity.)

Mọi người cho biết quan điểm của bạn về khác nhau của hai món này nhé

1 Like

Ở tưởng 2 cái function va operator là 2 khái niệm khác nhau chứ nhỉ ? :smiley:

Operator

In mathematics and sometimes in computer programming, an operator is a character that represents an action, as for example x is an arithmetic operator that represents multiplication. In computer programs, one of the most familiar sets of operators, the Boolean operators, is used to work with true/false values

Function

In C language and other programming, a function is a named procedure that performs a distinct service

Ref:


Nó khác nhau chứ, nhưng ví dụ như new là toán tử và malloc lại là hàm. Tại sao lại có sự phân biệt như vậy?

1 Like

Như vậy là ý nghĩa ra đời của nó. Tại sao lại để là toán tử thay vì hàm? Một câu hỏi sâu về kiến thức cơ bản, mình cũng rất muốn biết :+1:

chắc toán tử dễ dùng hơn. Ví dụ để 2+3 dễ hơn add(2,3) :smile:

Phf hợp với tự nhiên hơn

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?