是否有一种不是 C++ 的“带有类的 C”语言?

Sun*_*ach 4 c oop class dialect

我正在寻找某种尽可能简约C但具有内置类支持的 C 方言。C因此,我可以(并鼓励)使用宏、指向数组的指针和手动内存管理,还可以创建类、向它们添加字段和成员函数等。当我尝试在andtypedef struct和函数指针中实现某种 OOP 时,出现了这个问题与我想要的类似,但是“成员函数”需要手动将指向对象的指针作为参数传递给它们,而这不是我想要做的。C++我知道我可以像“带有类的 C”一样写,但是我C++会鼓励不同的编程风格,我很好奇是否有一些东西正是我想要的。

我正在搜索“带有类的 C”,但我只C++在结果中看到,所以我希望答案是“只使用 C++”,我对此表示同意,但我只是好奇。

Use*_*ess 6

C++ 鼓励不同的编程风格

您可以用您喜欢的任何风格编写 C++。只需选择不使用不适合您的 C 类审美的功能(和库)即可。

“带有类的 C”最初是由Cfront编译为 C 的,但据我所知,那已经非常死了。

我怀疑当简单地选择 C++ 的一个子集并使用当前的 C++ 编译器时,是否存在对复活的 Cfront 的很大需求,它已经完成了您实际需要的一切。


FWIW我过去写过面向对象的C,手动传递this并不是那么大的负担。即使在 Python 中,你也必须显式声明参数self,而且似乎没有人对此感到不安。必须显式地传递它也不是那么糟糕。