自从我上次使用C++以来已经很久了.
情况:我有一个需要在不同.cpp文件中可用的大型数组.它是不可变的,所以我认为我最好const char array[] = …在头文件中添加一个.但据我所知,现在数组在编译的二进制文件中出现了好几次.
在标头中声明大型常量数组的正确方法是什么,因此它们不会被编译到每个源对象中?
如果在头文件中定义一个数组(无论是否初始化它),您将获得大量副本.
您想在标题中声明它:
extern const char array[];
Run Code Online (Sandbox Code Playgroud)
并在.c/ .cppfile中定义它:
const char array[] = ... ;
Run Code Online (Sandbox Code Playgroud)