功能和变量从何而来

Where did the function and the variable come from?

本文关键字:变量 功能      更新时间:2023-10-16

请对不起,我是JavaScript和打字稿,而不是C 一个。

但是JS引擎V8是用C 编写的,这是其中的代码:

// Convert the result to an UTF8 string and print it.
v8::String::Utf8Value utf8(isolate, result);
printf("%sn", *utf8);

在上面的代码中有两行。第一行包含utf8功能...它来自哪里?我以前没有在文件中看到它,也没有导入(或者(?

第二行包含utf8变量(对吗?(,尽管使用我不知道的*修饰符。变量从何而来?恒星修饰符的作用是什么?

抱歉,这类问题,但是在这一点上,我无法深入研究最复杂的语言之一的文档,即C ...

utf8不是函数,而是变量。摘要(isolate, result)参数传递给其构造函数。

这可以按以下方式重写,以便在功能上相同,并且以JavaScript程序员更熟悉的方式:

auto utf8 = v8::String::Utf8Value(isolate, result);

其中auto侵入变量的类型。

至于*utf8中的*,其含义将取决于实现。*作为前缀运算符,可以给出用户定义的含义,尽管通常它具有"触及并从中获取价值"的语义,就像原始指针以及诸如std::unique_ptrstd::optional之类的东西一样。我个人不熟悉v8。您应该在*操作员上查看v8::String::Utf8Value类型的文档,以确切查看其作用。

您还应该非常意识到C 需要很长时间才能学习,而且误解或做错事非常容易。如果您想学习C ,我建议阅读一本好的C 书籍以获得基本的理解。