在 C++ 中动态增长数组

2024-01-15

我有一个 CName 对象指针数组。我有以下构造函数,它将数组初始化为大小一。然后,当我添加一个对象时,我将数组增加 1 并添加新对象。它编译得很好,但是当我尝试打印它们时,我只是收到分段错误错误。你能帮我看看我有没有做错什么吗?

//constructor
Names_Book::Names_Book()
{
    grow_factor = 1;
    size = 0;
    cNames = (CName**)malloc(grow_factor * sizeof(CName*));
    cNames[0] = NULL;
}

void Names_Book::addCName(CName* cn)
{
    int oldSize = size;
    int newSize = size + 1;

    CName** newCNames = (CName**)malloc(newSize * sizeof(CName*));

    for(int i=0; i<newSize; i++)
    {
        newCNames[i] = cNames[i];
    }

    for(int i=oldSize; i<newSize; i++)
    {
        newCNames[i] = NULL;


    }
    /* copy current array to old array */
    cNames = newCNames;

    delete(newCNames);

    size++;

}

要在 C++ 中拥有可动态增长的数组,您should use std::vector http://en.cppreference.com/w/cpp/container/vector或者至少看看它的实现。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C++ 中动态增长数组 的相关文章

  • 为什么大多数 C 开发人员使用 Define 而不是 const? [复制]

    这个问题在这里已经有答案了 在许多程序中 define与常量具有相同的用途 例如 define FIELD WIDTH 10 const int fieldWidth 10 我通常认为第一种形式优于另一种形式 它依赖于预处理器来处理基本上是
  • 使用post方法将多个参数发送到asp.net core 3 mvc操作

    使用 http post 方法向 asp net mvc core 3 操作发送具有多个参数的 ajax 请求时存在问题 参数不绑定 在 dot net 框架 asp net web api 中存在类似的限制 但在 asp net mvc
  • POCO HTTPSClientSession 发送请求时遇到问题 - 证书验证失败

    我正在尝试使用 POCO 库编写一个向服务器发出 HTTPS 请求的程序 出于测试目的 我正在连接到具有自签名证书的服务器 并且我希望允许客户端进行连接 为了允许这种情况发生 我尝试安装InvalidCertificateHandler这是
  • 检查算术运算中的溢出情况[重复]

    这个问题在这里已经有答案了 可能的重复 检测 C C 中整数溢出的最佳方法 https stackoverflow com questions 199333 best way to detect integer overflow in c
  • ASP MVC:服务应该返回 IQueryable 的吗?

    你怎么认为 你的 DAO 应该返回一个 IQueryable 以便在你的控制器中使用它吗 不 您的控制器根本不应该处理任何复杂的逻辑 保持苗条身材 模型 而不是 DAO 应该将控制器返回给视图所需的所有内容 我认为在控制器类中看到查询 甚至
  • C 语言中 =+(等于加)是什么意思?

    我碰到 与标准相反 今天在一些 C 代码中 我不太确定这里发生了什么 我在文档中也找不到它 In ancientC 版本 相当于 它的残余物与最早的恐龙骨头一起被发现 例如 B 引入了广义赋值运算符 使用x y to add y to x
  • 基于xsd模式生成xml(使用.NET)

    我想根据我的 xsd 架构 cap xsd 生成 xml 文件 我找到了这篇文章并按照说明进行操作 使用 XSD 文件生成 XML 文件 https stackoverflow com questions 6530424 generatin
  • 无法将类型“System.IO.Stream”隐式转换为“Java.IO.InputStream”

    我提到了一些类似的问题 但没有一个涉及IO 当我使用时 我在java中使用了相同的代码Eclipse 那次就成功了 但现在我尝试在中使用这段代码Mono for Android C 它不起作用 我正在尝试运行此代码来创建一个InputStr
  • 生产代码中的 LRU 实现

    我有一些 C 代码 需要使用 LRU 技术实现缓存替换 目前我知道两种实现LRU缓存替换的方法 每次访问缓存数据时使用时间戳 最后比较替换时的时间戳 使用缓存项的堆栈 如果最近访问过它们 则将它们移动到顶部 因此最后底部将包含 LRU 候选
  • 如何在c#中的内部类中访问外部类的变量[重复]

    这个问题在这里已经有答案了 我有两个类 我需要声明两个类共有的变量 如果是嵌套类 我需要访问内部类中的外部类变量 请给我一个更好的方法来在 C 中做到这一点 示例代码 Class A int a Class B Need to access
  • 为什么我不应该对不是由 malloc() 分配的变量调用 free() ?

    我在某处读到 使用它是灾难性的free删除不是通过调用创建的对象malloc 这是真的 为什么 这是未定义的行为 永远不要尝试它 让我们看看当您尝试时会发生什么free 自动变量 堆管理器必须推断出如何获取内存块的所有权 为此 它要么必须使
  • 获取 2 个数据集 c# 中的差异

    我正在编写一个简短的算法 它必须比较两个数据集 以便可以进一步处理两者之间的差异 我尝试通过合并这两个数据集并将结果更改放入新的数据集来实现此目标 我的方法如下所示 private DataSet ComputateDiff DataSet
  • 如何一步步遍历目录树?

    我发现了很多关于遍历目录树的示例 但我需要一些不同的东西 我需要一个带有某种方法的类 每次调用都会从目录返回一个文件 并逐渐遍历目录树 请问我该怎么做 我正在使用函数 FindFirstFile FindNextFile 和 FindClo
  • 尚未处理时调用 Form 的 Invoke 时出现 ObjectDisposeException

    我们得到一个ObjectDisposedException从一个电话到Invoke在尚未处理的表格上 这是一些演示该问题的示例代码 public partial class Form2 Form void Form2 Load object
  • g++ 对于看似不相关的变量“警告:迭代...调用未定义的行为”

    考虑以下代码strange cpp include
  • 将代码拆分为标头/源文件

    我从 Asio 的示例页面中获取了以下代码 class tcp connection public boost enable shared from this
  • 在类的所有方法之前运行一个方法

    在 C 3 或 4 中可以做到这一点吗 也许有一些反思 class Magic RunBeforeAll public void BaseMethod runs BaseMethod before being executed public
  • 转到定义:“无法导航到插入符号下的符号。”

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我今天突然开始在我的项目中遇到一个问题 单击 转到定义 会出现一个奇怪的错误 无法导航到
  • 带重定向标准流的 C# + telnet 进程立即退出

    我正在尝试用 C 做一个 脚本化 telnet 项目 有点类似于Tcl期望 http expect nist gov 我需要为其启动 telnet 进程并重定向 和处理 其 stdin stdout 流 问题是 生成的 telnet 进程在
  • 匿名结构体作为返回类型

    下面的代码编译得很好VC 19 00 23506 http rextester com GMUP11493 标志 Wall WX Za 与VC 19 10 25109 0 标志 Wall WX Za permissive 这可以在以下位置检

随机推荐

  • 在python中使用in运算符搜索列表时使用什么算法?

    当使用 in 运算符搜索列表中的项目时 例如 if item in list print item 使用什么算法来搜索该项目 是从头到尾直接搜索列表还是使用二分搜索之类的东西 list不能假定 s 是按排序顺序 或任何顺序 的 因此二分搜索
  • SHA256 哈希值总是有 64 个字符吗?

    我正在将数据库设置为接收散列密码而不接受纯文本 我会去这样的事情吗 create table User username varchar 20 not null password varchar 64 not null 是的 SHA256
  • 使用 Parcelable 是在应用程序之间发送数据的正确方法吗?

    我试图了解如何在 Android 中的应用程序之间进行通信 而不仅仅是在应用程序之间进行通信Activity实例 我设置了一个 客户端 将 Messenger 对象发送到服务 在Intent发送到服务 该服务创建了一个Messageobj
  • 调整 Dash-Plotly 中下拉菜单选项的宽度

    我正在尝试基于 Plotly 在 Python 中使用 Dash 构建一个应用程序 我很难调整下拉菜单选项的宽度 我在下面附上了代码和图像 我希望下拉选项的宽度与菜单宽度相同 app layout html Div children htm
  • 如何在适配器内的列表视图项内添加地图片段?

    我有一个列表视图 我想在每个列表项中添加地图 当我单击列表项时 地图将显示 隐藏 当地图显示时 我可以在其上缩放 查看位置详细信息 但我无法在适配器中设置 MapFragment 那么 给我一些解决方案 谢谢 gMap MapFragmen
  • 使用 R microbenchmark 和 system.time 有什么区别?

    我想了解 R 的 microbenchmark 和 system time 之间的区别 他们如何在内部测量函数执行时间 在这两种情况下 运行时间都是使用操作系统工具计算的 因此 如何计算运行时间取决于操作系统 如详细信息部分所述 syste
  • TypeORM保存嵌套对象

    我正在开发一个express 使用TypeORM ReactJS应用程序 问题是我有 3 个通过 OneToMany 关系链接的实体 如下所示 customer 产品 链接到客户 型号 与产品相关 import Product from p
  • 消息:安装 Composer 后在 php.ini 中设置 sys_temp_dir

    我尝试为我的 CodeIgniter 项目安装作曲家 安装成功 但是 当我在命令行上输入时composer version 表明 PHP temp directory C Users petik AppData Local Temp doe
  • Azure Devops 管道 ArchiveFiles 错误:无法找到可执行文件:“zip”

    我正在为 python 包构建创建 Azure DevOps 管道 但任务 ArchiveFiles 2 失败 stage Build jobs job BuildApp pool vmImage ubuntu latest task Ar
  • 如何删除 datagrid wpf 中选定的行?

    我正在使用 WPF datagrid 我需要删除选定的 Row 我的代码是 private void dataGridView1 PreviewKeyDown object sender KeyEventArgs e if e Key Ke
  • 如何在考虑到图块标高的情况下计算等距世界中鼠标下方图块的索引

    我有一个基于图块的等距世界 我可以使用以下计算来计算哪个图块位于特定 鼠标 坐标下方 function isoTo2D pt Point Point var tempPt Point new Point 0 0 tempPt x 2 pt
  • Phonegap - 首次加载时创建 .txt 文件

    我正在创建一个phonegap应用程序 需要在首次加载时创建一个新的 txt文件 之后我需要检查文件是否存在 如果存在则忽略创建 下面是我之后的一般流程 1 onDeviceReady 加载 phoengap 应用程序 2 检查 readm
  • 为什么已安装的软件包不显示我刚刚安装的软件包?

    我已经开始使用 Nuget 了 我的一些项目允许我将库包引用添加到 Nuget 包 但是当我选择 已安装的包 时 我没有看到列出任何包 为什么不 编辑 我知道答案 见下文 我本来打算作为 社区服务 自己回答这个问题 但由于我蹩脚的代表分数
  • 整个页面上的 jQuery 验证

    我有一个用 ASP NET MVC 3 开发的网页 我正在使用 jQuery 验证器来验证我的字段 validator setDefaults errorContainer validationSummary validationNotic
  • numpy 'isin' 性能改进

    我有一个包含 383milj 行的矩阵 我需要根据值列表过滤该矩阵 index to remove 该函数在 1 次迭代期间执行多次 有没有更快的替代方案 def remove from result matrix index to rem
  • Spring-Kafka 的替代方案(Kafka 库/实现)

    我想要 Spring Kafka 的替代方案的建议 我在我的应用程序中使用了集成在 Spring 中的 Kafka 我想探索任何可用的替代库 如果比较分析能在图书馆之间共享就好了 除了普通的 Java API Putsite github
  • 在 Google Cloud Run 上运行 Python gRPC 服务器

    我有一个基本的概念验证 Python gRPC 服务器 当我在本地运行 Docker 容器时 我可以向服务器发出请求并在公开的端口上接收响应 我可以成功地将服务器部署到 Cloud Run 并且我看到该服务在 Cloud Run UI 中运
  • JavaScript - window.onload - 将
    的内容放到新窗口上

    我想写一个javascript 当页面加载时 获取 a 的内容 div 标签和 将该内容放置在弹出页面上 对剧本有什么想法吗 我知道如何导航到该元素 但不知道如何复制内容 div 的内容将是这样的 div div class errorpa
  • 有基于文本的 mysql 用户界面吗?

    我不是指标准的 mysql client CLI 而是类似于午夜指挥官 http www midnight commander org 是文件系统管理 基本 cli 的简单命令历史记录还不错 但在测试更复杂的查询时确实没有什么用处 而且数据
  • 在 C++ 中动态增长数组

    我有一个 CName 对象指针数组 我有以下构造函数 它将数组初始化为大小一 然后 当我添加一个对象时 我将数组增加 1 并添加新对象 它编译得很好 但是当我尝试打印它们时 我只是收到分段错误错误 你能帮我看看我有没有做错什么吗 const