最近,我从C跳到了C ++,并了解了运算符重载。 按位左移运算符与C ++中的插入运算符相同,是运算符重载的一个示例。 但是,有人告诉我,用C语言无法实现运算符重载。 现在,我的疑问是乘法运算符,即asterisk(*)与与指针相关的间接运算符相同。

如果在C语言中不可能发生运算符重载,那么asterisk(*)运算符有多种用途?

  ask by Siddhant Arya translate from so

本文未有回复,本站智能推荐:

7回复

C中的运算符重载

我正在尝试重载一些运算符: 对于每个尝试的重载,我都会收到此错误: 我找不到关于运算符重载的任何好的文档。 使用类的C ++教程中的Google搜索结果。 在C中没有类。 谁能帮我? 谢谢。
4回复

C中的运算符重载

在C ++中,我可以通过执行以下操作来更改特定类的运算符: 但是由于C中没有类(默认内置),所以,我怎样才能对一般函数进行运算符重载? 例如,如果我没记错的话,导入stdlib.h会给你 - >运算符,它只是(* strcut_name).struct_element的语法糖
5回复

C中的运算符重载?

是否可以在C中执行运算符重载或类似的操作(内联函数?)? 我知道c不支持class ,但是我可以为struct做一个运算符吗? 我在网上找不到任何有关此的信息,因为Google会忽略“ +”,因此,如果我尝试使用google进行搜索,只会得到C ++结果。
2回复

C ++中的运算符函数并编译与之相关的错误

我可能会通过几种方式来揭露这个问题的无知:) 首先,我认为这是C ++代码,但是文件的扩展名是.C(所以也许是C?) 无论如何,我正在尝试编译一个名为Sundance(句子理解和概念提取)的程序,它是一种自然语言处理工具。 我得到的编译错误与以下内容有关: 错误是“从'Co
4回复

与C / Objective-C中的#define等效的运算符“重载”

可能重复: C中的运算符重载 如果我有一个结构: 我需要这样的东西: 要使此语法有效: 有什么方法可以使用#define来做到这一点? 编辑: 我不是在寻找+语法的替代方法。 我要问的是预处理器是否以及如何用于将plus语法重写为编译时的标准
1回复

通过带有类型通知的宏在C中重载运算符

C预处理程序不能用于重载运算符,因为它不知道表达式“ a + b”中a和b的类型,请参见此问题 。 但是,给它一个类型呢,像这样: 将其预处理为: 这种解决方法在将代码库迁移到C ++或与C和C ++交互时很有用。 但是,:左边的表达式更易于阅读。 这样的解决方案可
3回复

使用宏来重载三元运算符的某些用途?:

(后续过载三元?:运算符,或更改为包含文件中的{} else {} 。) 上下文 研究项目在这里。 在我的C ++库中,我使用#include "aprogram.c"包含C文件,我通过重载(几乎)所有运算符来执行符号。 我必须能够检测到(condition) ? this
1回复

如何在C中用+运算符连接char指针? [重复]

这个问题已经在这里有了答案: C中的运算符重载 7答案 有什么方法可以将char指针与c中的+运算符连接起来? 我知道我可以用strcopy()和strcat()连接字符串 如何在C中连接两个char *? 在C程序中连接两个char *字符串
15回复

如何在C / C ++ / Obj-C中编码处理负数的模(%)运算符

我最讨厌C语言衍生的语言(作为数学家)是 最好的解决方案是什么? C ++允许使用模板和运算符重载,但对我而言,这两者都是晦涩难懂的地方。 感激收到实例。
3回复

如果c不支持运算符重载,我们如何在#include指令中使用小于号('<'甚至大于('>'))?

我们都知道c不支持运算符重载,有人可以告诉我是不是,那么我们如何才能在#include指令中使用小于号,并在比较中使用它呢? 还是提供的功能称为其他功能并用语言定义?