c ++在编译时加载大量数据

use*_*986 5 c++ visual-studio-2010

我有一个C++对象,需要大量的数据来实例化.例如:

  class object {
      public object() { 
          double a[] = { array with 1 million double element }; 
      /* rest of code here*/};
      private:
      /* code here*/    
  }
Run Code Online (Sandbox Code Playgroud)

现在数据(即100万个双数字)位于单独的文本文件中.问题:如何以高效的方式将它放在"double a []"之后并最终编译代码?我不想在运行时从文件中读取数据.我希望它与对象一起编译.什么可以解决方案?理想情况下,我希望数据位于单独的文本文件中,因为它目前驻留在某种程度上也有一个像double a [] = .....的赋值.

这可能吗?提前致谢!

Luc*_*ore 9

就像是:

class object
{
  public
  object(){ double a[] = { 
     #include "file.h"
  }; 
   /* rest of code here*/};
  private:
  /* code here*/    
}
Run Code Online (Sandbox Code Playgroud)

该文件必须正确格式化 - 即包含如下内容:

//file.h
23, 24, 40,
5, 1.1, 
Run Code Online (Sandbox Code Playgroud)

通常,您可以使用#include指令将内容粘贴到文件中.我已经看到virtual像这样粘贴的方法,如果它们对于大多数派生类来说都很常见.我个人并不喜欢这种技巧.