gpt4 book ai didi

c++ - [C++]带static关键字的函数模板

转载 作者:搜寻专家 更新时间:2023-10-31 01:58:15 27 4
gpt4 key购买 nike

来自 google 的 v8 js 引擎的代码,allocation.h:

 template <typename T>
static void DeleteArray(T* array) {
delete[] array;
}

这是一个函数模板(顶层,不在任何类中)。但是 static 关键字有什么用呢?

最佳答案

它是一个模板实际上是一个附带问题。

它是静态的意味着该函数在文件外部不可见(但由于它在标题中并且标题实际上是包含它们的文件的一部分,这意味着在包含标题的文件之外;以及每个文件includes header 实际上有它自己的、相同但私有(private)的函数版本)。

来自 http://msdn.microsoft.com/en-us/library/s1sb61xd%28VS.80%29.aspx :

"When modifying a variable or function at file scope, the static keyword specifies that the variable or function has internal linkage (its name is not visible from outside the file in which it is declared)."

在这里查看更多关于在头文件中包含它的含义:

C/C++: Static function in header file, what does it mean?

关于c++ - [C++]带static关键字的函数模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4348642/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com