我正在做一个Arduino项目,这意味着C++方言目前是C++11的gnu++11超集,stdlib不可用(没有元组,没有数组,什么都没有;命名空间std只是空的!)。出于优化原因(CPU有16K的FLASH,2K的RAM并且这个特定的低电压版本运行在8MHz)我希望编译器尽可能地预先计算以提供运行时代码,尤其是中断服务例程,具有“友好”的数据。现在我想做的是:给定一个(唯一的)整数列表,我想提取与任意过滤器匹配的值。然后我想建立一个索引表,允许通过它们的初始索引到达过滤后的元素例如2,10,4,7,9,3带过滤器value可以产生过滤列表2,4,7,3和索引表0,-1,1,2,-1,
对于字母表中的每个字母,我都有一个如下声明的int数组:intconstA[64]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0};然后我用指向这些的指针创建另一个数组。intconst*text[]={A,B,C};这工作正常,直到该文本数组达到一定数量的不同条目。例如这个有效:intconst*text[]={A,A,A,A,A,A,A,A};//couldevengoon