c - 在 C 中使用 C++ 可能性

标签 c

<分区>

这可能是一个愚蠢的问题,但我对此非常感兴趣。是否可以在纯 C 中实现运算符 new、动态扩展数组、类? 任何链接或代码示例将不胜感激。

最佳答案

  • new:#define new(type) malloc(sizeof(type))(必须使用函数语法调用它,例如 struct stat *st =新(结构统计))
  • 动态扩展数组:realloc 加上一些自定义数组操作函数(如 push_back 等)——这通常由第三方 C 实用程序库(和,正如@Mgetz 指出的那样,一些编译器为其内置了扩展)
  • 类:具有函数指针成员的结构(这在几个项目中很常见,例如 Linux 内核)

您可能想看看 GObject,它是一个 C 库,为 C 提供了一些面向对象的功能。还可以查看您通过谷歌搜索“面向对象的 C”获得的数十次点击。

关于c - 在 C 中使用 C++ 可能性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27491002/

相关文章:

c++ - 如何在 Release模式下正确编写基准程序?

c - 数据结构中的求幂和 C 中的算法分析

c - 为什么数字 '0'(数字,不是字符)不显示?

c - 为什么编译器找不到头文件?

c - 如何检索所有 TCP UDP 打开端口?

c - 整数指针数组

c - gcc 的奇怪输出

c - 具有公共(public)源文件和子项目的正确项目组织

C89 - 使用灵活的字符数组和原型(prototype)初始化结构

c++ - 什么是主循环抽象概念?