小编gre*_*ora的帖子

调用delete []会破坏我的C++程序

更新:感谢您的快速回复.我似乎发布了旧版本的代码.除参数化构造函数外,一切都保持不变.您可以看到代码中存在一些缺陷,但请记住,我还没有完全完成此操作.目前我更担心阵列,因为这是昨天推出的一个新概念.我尝试了几种不同的东西,并研究了几个小时.大多数响应都说只使用向量类,但这是为了帮助我们理解内存分配和动态数组的功课.目前这是我的.cpp和.h文件给我带来了问题.每次触发删除(或清除功能)操作时,都会发生错误,表明blahblah.exe已触发断点.

MyVector.h

#pragma once

class MyVector
{
private:
    int arraySize; 
    int arrayCapacity;
    int* theData;
    void grow();

public:
    MyVector();
    MyVector(int n);
    int size() const;
    int capacity() const;
    void clear();
    void push_back(int n);
    int& at(int n);
    ~MyVector();
};
Run Code Online (Sandbox Code Playgroud)

MyVector.cpp

   #include "MyVector.h"
    #include <iostream>
    using namespace std;

    MyVector::MyVector()
    {
    arraySize = 0;
    arrayCapacity = 0; 
    theData = new int[0];
    }
    MyVector::MyVector(int capacityIn)
    {
    theData = new int [capacityIn];
    arraySize = 0;
    arrayCapacity = 0;
    }
    int MyVector::size() const
    {
    return arraySize;
    }
    int …
Run Code Online (Sandbox Code Playgroud)

c++ memory arrays allocation dynamic

1
推荐指数
1
解决办法
839
查看次数

标签 统计

allocation ×1

arrays ×1

c++ ×1

dynamic ×1

memory ×1