c++ - 与指向数组的指针 union

标签 c++ unions

在 C++ 中,我想声明一个指针数组,它是 unsigned charunsigned short,具体取决于某些输入。所以它要么想要

unsigned char *data = new unsigned char[N];

unsigned short *data = new unsigned short[N];

解决这个问题的最佳方法是什么?

最佳答案

"What's the best way to go about this?"

使上下文模板化,例如

template<typename T, size_t N>
struct MyStuff {
    std::array<T,N> data;
}

template<typename T, size_t N>
struct MyStuff {
    std::vector<T> data;

    MyStuff() {
        data.resize(N);
    }
}

如果你真的需要动态分配

关于c++ - 与指向数组的指针 union ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26346101/

相关文章:

c++ - "double"的操作和 C 中的优化

c++ - 具有重写运算符的模板类

c - 在 C 中的位域内格式化 union

c++ - 将 union 与结构内的位字段结合使用的正确语法

C指针转换规则

c++ - 在派生类的成员 union 中包含继承的基类成员

c - 我不明白这个 C 代码的行为(与 2 个位域结构、一个字和一个字节数组的 union )

c++ - 为什么默认参数尾随?

c++ - std::map 如何调用值析构函数?

c++ - 没有匹配函数调用构造函数问题(关于类基础语法的问题)