我正在尝试使用C和汇编(intelx8086)语言.
我也在使用一个班级,我的一个朋友给了我一个
typedef enum data_10 {a=0,b=7,c=10,} data_10_type;
Run Code Online (Sandbox Code Playgroud)
我想按位使用这个类(AKA构造它/在Assembly上销毁它).我的问题是,"枚举"需要多少内存?
我试图用一个类在C++中创建一个字典<key,value>.
我在网上发现地图是我被禁止使用的课程.
但是,当我尝试使用Map时,它会填补键之间的间隙.
这是一个问题,因为键是数字,但它们非常稀疏.
所以在一组中我可能有[1,20,30000,70000000].我希望我的地图只存储这4个值,而不是每个值在1到70000000之间.
#include <iostream>
#include <map>
using namespace std;
int main()
{
map<int,int> a = {{1,-1},{20,200}}; // I want this to just store {1,20}
for(int x = 0; x < a.size(); x++) cout << a[p(x)] << ","; //however, when I print it I get [0,1..,19,20]
return 0;
}
Run Code Online (Sandbox Code Playgroud)
OUTPUT
0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,
Run Code Online (Sandbox Code Playgroud)
是否有一些解决方法可以避免C++"填补空白"或STD中可用于此目的的任何其他类?