新建和删除操作员?
New and Delete Operator?
我现在想问的是,delete
和 new
运算符在 C 中有什么作用?我问这个问题,当时我只是简单地考虑如何在 C++ 中分配内存,我记得你使用 new
和 delete
关键字,(malloc()
和 free()
在 C).但是当我在 .c
文件中输入 new
和 delete
关键字时。它显示为关键字。 C(不是 C++)中使用的关键字究竟是什么。
UsbDriver *ud = malloc(sizeof(UsbDriver));
free(ud);
new // What is this keyword?(C)
delete // What is this keyword?(C)
C
中没有 new
和 delete
关键字。只是您的编辑器错误地 将它们识别为关键字并应用了 syntax highlighting.
FWIW,如果您可以选择根据语言(文件扩展名,也许)控制编辑器的语法突出显示,请将其设置为 C,即使它显示为关键字,换一个更好的编辑器。
例如,请参阅此在线编译器和编辑器。
您可能正在使用支持 C 和 C++ 的编辑器。因为 new 和 delete 不是 C 的一部分。
我现在想问的是,delete
和 new
运算符在 C 中有什么作用?我问这个问题,当时我只是简单地考虑如何在 C++ 中分配内存,我记得你使用 new
和 delete
关键字,(malloc()
和 free()
在 C).但是当我在 .c
文件中输入 new
和 delete
关键字时。它显示为关键字。 C(不是 C++)中使用的关键字究竟是什么。
UsbDriver *ud = malloc(sizeof(UsbDriver));
free(ud);
new // What is this keyword?(C)
delete // What is this keyword?(C)
C
中没有 new
和 delete
关键字。只是您的编辑器错误地 将它们识别为关键字并应用了 syntax highlighting.
FWIW,如果您可以选择根据语言(文件扩展名,也许)控制编辑器的语法突出显示,请将其设置为 C,即使它显示为关键字,换一个更好的编辑器。
例如,请参阅此在线编译器和编辑器。
您可能正在使用支持 C 和 C++ 的编辑器。因为 new 和 delete 不是 C 的一部分。