功能和变量从何而来
Where did the function and the variable come from?
请对不起,我是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_ptr
和std::optional
之类的东西一样。我个人不熟悉v8
。您应该在*
操作员上查看v8::String::Utf8Value
类型的文档,以确切查看其作用。
您还应该非常意识到C 需要很长时间才能学习,而且误解或做错事非常容易。如果您想学习C ,我建议阅读一本好的C 书籍以获得基本的理解。
相关文章:
- 将 2D 数组传递给大小为变量的功能
- 将非静态成员函数C 的使用无效,而将成员功能作为函数变量
- 功能原型变量范围C
- 避免为每个成员变量重复功能
- 线程安全性和静态变量/成员功能
- 功能和变量从何而来
- 无全局变量或功能参数的递归调用
- 在已经运行的功能C 中更改变量
- 将功能输出分配给变量
- 从成员变量更新类变量或调用类功能是给出运行时错误
- 如何访问C 中的功能范围变量
- 我的朋友功能无法访问私人变量
- 不同的变量和功能起作用
- 在功能中设置对象变量
- 类和本地功能变量内的全局变量
- 我需要在类C 中定义所有私人功能和变量
- 如何在Arduino的功能中提供软件变量
- 是否可以在C++中推迟 const 变量的初始化,例如 Java 的"blank final"功能?
- 无法从类中的其他功能访问同一类的变量
- 在模拟过程中更改FMI变量/功能