c++ - 如何从预定义数组创建特定元素数组

标签 c++ c memory memory-management

如何创建一个数组,以便我可以访问元素 a[1000000]a[1]a[2] 甚至没有使用 1000000 的大小?

如果可能,请提供C++的答案。

最佳答案

使用 std::unordered_map<> .

enum { N = 9 };
int arr[N] = { 0 };
std::unordered_map<int, int> m;
for (int i = 0; i < N; i++)
{
    ++m[arr[i]];
}

关于c++ - 如何从预定义数组创建特定元素数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52828193/

相关文章:

c++ - C++11 之前的标准下 string::c_str() 和 data() 的用法

c++ - 单个 3d 立方体的 z_axis 移动

c++ - iMX6 上的 Qt5 : performance advantage on running on platform eglfs vs xcb

c++ - 输入迭代器必须具有 const 解引用运算符吗?

c++ - Python:更改变量的数据类型

c++ - 静态方法节省内存? (非托管代码)

c++ - 为什么我的线程调用函数对象而不是将其返回值分配给 packaged_task 的 future 对象?

C++ Winsock unicode问题

条件堆栈分配

VS2010 中的 JavaScript Intellisense 速度极慢且内存不足