其他分享
首页 > 其他分享> > c – 运算符与函数行为

c – 运算符与函数行为

作者:互联网

我正在阅读以下文件,

https://code.google.com/p/go-wiki/wiki/GoForCPPProgrammers

并发现下面的陈述有点模棱两可:

Unlike in C++, new is a function, not an operator; new int is a syntax error.

在C中,我们将运算符实现为函数,例如使用运算符.

那么一般来说编程语言中运算符与函数的确切区别是什么?

解决方法:

函数和运算符之间的实际区别取决于编程语言.在简单的C中,运算符是语言本身的一部分.无法添加运算符,也无法更改现有运算符的行为.这不是C的情况,其中运算符被解析为函数.

从完全不同的角度来看,考虑Haskell,其中ANY(二进制)函数可以被视为二元运算符:

如果你不说Haskell,但了解点产品,这个例子仍然应该是相当简单的.鉴于:

dotP :: (Double, Double) -> (Double, Double) -> Double
dotP (x1, y1) (x2, y2) = x1 * x2 + y1 * y2

dotP (1,2) (3,4)

(1,2) `dotP` (3,4)

会给11.

为了解决Go文档中的引用:Go开发人员只是强调在C语言中,人们会将new视为具有自己语法的关键字,应该将Go视为任何其他函数.

标签:c,go,operator-overloading,syntax,new-operator
来源: https://codeday.me/bug/20190831/1777661.html