在 CI 中可以有一个结构和一些在头文件中声明的公共函数,而一些“私有”函数可以在源文件中声明为静态。例如:
foo.h
typedef struct Foo {
...
} Foo;
void func1(Foo *foo);
foo.c
#include "foo.h"
static void func2(Foo *foo) {...}
void func1(Foo *foo) {...}
在这种情况下func2
是内部链接的。这对 C++ 类方法可行吗?如果我写:
foo.hpp
struct Foo {:
void func1();
private:
void func2();
};
func2
仍将与外部链接。有没有办法让它内部保留它在结构内?