在c++中使用make_unique在类中创建动态数组
Creating dynamic array in a class using make_unique in C++
我正在尝试使用这种格式创建一个动态数组。
#include <iostream>
#include <string.h>
#include <memory> // for make_unique?
using std::make_unique;
using std::string;
class Kitchen
{
private:
auto dynamicArray = make_unique<string[]>(10);
这是在我的厨房。h文件。
出现的错误是:'auto'不能在这里使用。我不确定这是因为我在私有下使用"auto",或者它不能在。h文件中使用。
我不明白你想干什么。如果你想要一个动态数组,为什么不用std::vector呢?查看下面的示例,并在构造函数中初始化vector。
#include <iostream>
#include <string>
#include <vector>
class Kitchen {
public:
Kitchen() {}
private:
std::vector<std::string> dynamicArray;
}
我认为如果你需要一些不同的东西,你应该给我们更多的细节。
首先,C兼容性头<string.h>
对于std::string
的使用是错误的。包括<string>
第二,非static
类数据成员不能声明为auto
。例如,g++编译器的反应如下:
第三,对动态大小的数组使用std::vector
。这是复制。std::unique_ptr
是不可复制的
相关文章:
- 如何为 c++ 的不同变量类型的结构元素创建动态数组?
- 当我使用自定义类型创建动态数组时,即使使用字符串,它似乎也不起作用
- 创建动态对象并将其推送到矢量中
- 在创建动态二维数组时,在A[i*c+j]中使用c有什么用,即c代表什么
- 无法在 CMake 中创建动态库并将其链接到另一个动态库?
- 编写所需的代码以创建动态一维整数数组
- 创建动态分配的数组C
- 试图创建动态分配的char数组时的分割故障
- 在 c++ 上创建动态数组时出错
- 使用 MSVC C++编译器创建动态大小的数组
- 问题:在类中创建动态数组
- 如何在C 中创建动态数组,该数组将在执行时决定其大小
- 使用 Cmake 安装时创建动态库
- 为 C 绑定创建动态以 null 结尾的参数
- 如何在C 中创建动态分配的2D结构阵列
- 为矩阵创建动态数组,以循环迭代器命名
- 如何在C 中使用类创建动态列表
- 读取该文件,然后创建动态数组
- 包装本征的张量类以创建动态秩张量?
- 如何在C++中创建动态对象列表