C++ 创建数组

2023-11-23

为什么我不能做这样的事情:

int size = menu.size;
int list[size];

有没有办法不使用向量来解决这个问题? (数组更快,所以我想使用数组)

thanks


大小必须在编译时已知,因为编译器需要知道多少堆栈空间需要为其分配足够的内存。 (编辑:我的观点是正确的。在 C 语言中,变长数组可以在堆栈上分配。然而,C++ 不允许可变长度数组。)

但是,您可以在heap在运行时:

int* list = new int[size];

只需确保完成后释放内存,否则会出现内存泄漏:

delete [] list;

请注意,很容易意外地造成内存泄漏,并且向量几乎肯定更易于使用和维护。向量是quite快(特别是如果你reserve()首先将它们调整为正确的大小),我强烈建议使用向量而不是手动内存管理。

一般来说,最好对代码进行分析以找出真正的瓶颈所在,而不是预先进行微优化(因为优化并不总是优化)。

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

C++ 创建数组 的相关文章

  • copy_from_user() 错误:目标大小太小

    我正在为内核模块编写 ioctl 处理程序 我想从用户空间复制数据 当我编译禁用优化的代码时 O0 gflags 编译器返回以下错误 include linux thread info h 136 17 error call to bad
  • 并行运行多个任务

    我有一个代理列表 每个代理都会访问不同的站点并从站点中提取所需的数据 目前它一次只做一个 但我希望同时运行 10 20 个任务 这样它就可以一次性从 20 个站点下载 而不是只下载一个 这是我目前正在做的事情 private async T
  • 来自 double 的 static_cast 可以优化分配给 double 吗?

    我偶然发现了一个我认为不必要的功能 并且通常让我感到害怕 float coerceToFloat double x volatile float y static cast
  • 如何从经过身份验证的 SecurityToken 中获取声明

    我将令牌作为字符串传递到 SOAP 服务中 并验证了该令牌是否有效 我现在有一个 SecurityToken 在调试模式下我可以看到所有声明 特别是我想传递到另一个方法的 userId 声明 我似乎不知道如何获得这些索赔 现在 我解码了令牌
  • CMake(Ninja 后端)使用 /MT 编译

    我有一个类似的问题CMake 使用 MT 而不是 MD 进行编译 https stackoverflow com questions 14172856 cmake compile with mt instead of md但有一些差异 我正
  • 如何在 C++ 中为指针“this”赋值

    在函数中 如何分配this一个新的价值 您可以分配对象this点于 this XY 但你不能分配直接值this this XY Error Expression is not assignable
  • 每个元素的 asp.net Web 表单自定义错误消息

    我创建了一个 Web 应用程序 表单 以及后端 SQL 插入和查询 目前我正在显示所有用户错误消息 div style padding 1em div
  • 从结构调用 C++ 成员函数指针

    我找到了有关调用 C 成员函数指针和调用结构中的指针的信息 但我需要调用结构内部存在的成员函数指针 但我无法获得正确的语法 我在类 MyClass 的方法中有以下代码片段 void MyClass run struct int MyClas
  • 维护 VS Test Project 中单元测试方法之间的上下文

    我想按顺序运行以下单元测试 使用随机数字的名称 密码等创建新客户 检索刚刚创建的客户并断言其属性包含相同的随机数 对同一用户调用 ForgotPassword 函数 并使用相同的随机数作为用户名 清楚地看到 我需要生成一次随机数 并在 3
  • 加载 QPixmap 数据的更好方法

    更好的方法来做到这一点 没有QImage QImage image width height QImage Format RGB888 memcpy image bits m frameRGB gt data 0 height width
  • 用于 C++ 中图像分析的 OpenCV 二进制图像掩模

    我正在尝试分析一些图像 这些图像的外部周围有很多噪声 但内部有一个清晰的圆形中心 中心是我感兴趣的部分 但外部噪声正在影响我对图像的二进制阈值处理 为了忽略噪音 我尝试设置一个已知中心位置和半径的圆形蒙版 从而使该圆之外的所有像素都更改为黑
  • DateTime.ParseExact - 为什么 yy 变成 2015 而不是 1915

    为什么 NET 假定以下年份是 2015 年 而不是 1915 年 var d DateTime ParseExact 20 11 15 dd MM yy new CultureInfo en GB 我想 它会尝试接近 但其背后是否有合理的
  • 运行实体框架自定义工具,它有什么作用?

    在 Visual Studio 中 当使用实体框架并为 tt 和 Context tt 文件应用运行自定义工具时 它是什么以及它有什么作用 为什么它解决数据库同步问题 有时 为什么我应该在运行 tt 之前运行它 Context tt 它被称
  • 为什么这个位图图像在加载后会改变大小?

    快速提问 我有这个1000 1000位图图像 我使用这个例程来加载它 private BitmapSource initialBitmap new BitmapImage new Uri C Users Desktop Original b
  • 如何在VS2005中使用从.bat而不是.exe启动的外部程序进行调试?

    在我的 c 项目的调试属性中 我选择了 启动外部程序 并选择了我希望将调试器附加到的程序的 exe 但是 现在我需要从 bat 文件而不是 exe 启动程序 但 VS2005 似乎不允许这样做 这可能吗 编辑 为了澄清 我需要调试从 bat
  • 在 clang 中向量化函数

    我正在尝试根据此用 clang 对以下函数进行矢量化铿锵参考 http llvm org docs Vectorizers html 它采用字节数组向量并根据以下条件应用掩码this RFC https www rfc editor org
  • 在 Visual Studio 2012 Express 中设置 C++ 调试环境

    我需要调试的应用程序需要设置环境变量 这在 Visual Studio 2012 中似乎非常复杂 我想做类似的事情 set path c foo c bar c windows c program files application set
  • 为什么我可以在另一个函数中定义一个函数?

    请参阅下面的代码 我在另一个函数中定义了一个函数 void test1 void void test2 void printf test2 n printf test1 n int main void test1 return 0 这个用法
  • c++ - <未解析的重载函数类型>

    在我的班级里叫Mat 我想要一个将另一个函数作为参数的函数 现在我有下面 4 个函数 但是在调用 print 时出现错误 第二行给了我一个错误 但我不明白为什么 因为第一行有效 唯一的区别是功能f不是班级成员Mat but f2是 失败的是
  • 使用通用存储库模式和流畅的 nHibernate

    我目前正在开发一个中型应用程序 它将访问不同站点上的 2 个或更多 SQL 数据库等 我正在考虑使用类似的东西 http mikehadlow blogspot com 2008 03 using irepository pattern w

随机推荐

  • 如何在样式表中的 URL 中换行

    我有一个包含很长行 数据网址 的样式表 无论如何 我可以将这些行分成更小的行吗 长线示例 background image url data image png base64 really long string 您可以通过将 URI 用引
  • 圆与圆段碰撞

    我正在努力寻找一个可靠的解决方案来检测圆和圆段之间的碰撞 想象一下游戏敌人的视场锥体 其中圆圈代表感兴趣的物体 底部的图表是我为了尝试解决一些可能的情况而绘制的 但我确信还有更多 我了解如何快速排除极端情况 我丢弃任何不与整个圆碰撞的目标
  • 如果 WebAppContext 启动失败,如何取消启动或关闭 jetty

    我正在使用 Maven Jetty 插件 如果任何 bean 失败 有没有办法阻止服务器启动或关闭 例如使用 maven jetty plugin 这是一个例子 2013 04 22 11 43 59 327 WARN oejw WebAp
  • Python中通过套接字发送和接收对象

    我在互联网上搜索了很多 但我还没有找到通过套接字发送对象并按原样接收它的解决方案 我知道它需要酸洗 我已经完成了 另一方面 它将其转换为字节并被接收 但是如何将这些字节转换为该类型的对象呢 process time data current
  • Homebrew 升级后 Jupyter Notebook 模块出现错误

    我已经使用 Jupyter 一段时间了 它运行得很好 我通过 Homebrew 安装了 Jupyter 和 Python 我在 MacOS 上运行 昨天 我运行了命令brew upgrade现在我的 Jupyter 笔记本无法找到任何已安装
  • JavaFX - SplitPane、调整大小和比例

    如何实现整个 SplitPane 的按比例调整大小 public class JfxSplitPaneTest extends Application Override public void start Stage stage throw
  • Ubuntu 14.04 - pm2 启动后重新启动后未启动

    我正在使用 pm2 启动 node js 进程 我希望在系统 Intel Atom 处理器上的 Ubuntu 14 04 启动时自动启动该进程 我已按照以下说明进行操作pm2 网站但没有成功 我的 dump pm2 似乎是正确的 但 pm2
  • 如何获取.Net Core中进程的CPU使用率和虚拟内存?

    在 NET Core中 如何获取给定进程的CPU使用率和虚拟内存 Google 搜索结果显示 PerformanceCounter 和 DriverInfo 类可以完成这项工作 但是 PerformanceCounter 和 DriverI
  • 宏不允许定义词法变量

    此代码使用 实验性 宏 use experimental macros macro new var quasi my a 42 new var say a 失败与Variable a is not declared 尽管宏通过时没有错误 如
  • 将数据库结果添加到数组

    我现在脑子一片空白 一辈子也想不出解决办法 我的场景是使用 PHP 和 MySQL 进行编程 我有一个数据库表返回特定 orderid 的结果 该查询可以为每个订单最多返回 4 行 最少返回 1 行 这是我想要如何返回结果的图像 替代文本
  • 我可以对 JScript (.js) 或 VBScript (.vbs) 文件进行数字签名吗?

    我知道可以签署 Windowsbinary可执行文件使用signtool 所以一直以来我都假设人们无法签署由Windows Script Host 例如 JScript js 或 VBScript vbs 因为它们只是文本文件 但今天 在打
  • 使用 preg_match 查找所有 PHP 变量

    如何找到所有 PHP 变量preg match 我制作了以下正则表达式 string Hallo var blabla var iam a var varvarvar gfg djf jdfgjh fd variable instring
  • 使用 Swift 制作可点击的 UILabel

    我想将特定单词设置为可点击UILabel使用 Swift 编写文本 是否可以 如果这里有多个标签 我如何检测按下的是哪个单词 你不能用简单的标签来做 github上有可用的库 https github com TTTAttributedLa
  • 如何检查时间偏移是否处于夏令时?

    我使用的 CMS 允许我访问用户相对于 UTC GMT 时间的时间偏移 因此 如果用户将时区设置为 EST 则此偏移量将为 5 当我需要显示当前时间时 我现在正在做的事情是这样的 date M j Y h i A time offset 3
  • 如何确定 iOS 上的设置何时更改

    我使用标准创建了一个自定义 Settings app 捆绑包root plistiPhone 的方法 我想知道是否有一种方法可以确定用户何时更改我的应用程序中的这些设置 您可以使用以下命令监听 NSUSerDefaults DidChang
  • 如何更改特定元素(而不是全局元素)的 TextBox 占位符文本颜色

    MSDN 列出了TextBox class here 我可以通过创建一个来覆盖这些主题资源ResourceDictionary in App xaml像这样
  • 从 Angular 5 升级到 Angular 7 后,找不到“AppModule”的 NgModule 元数据

    我们的开发团队最近将 Angular 5 项目更新为 Angular 7 我已经下载了该存储库并且正在尝试构建源代码 但是当我运行ng build命令我得到一个找不到 AppModule 的 NgModule 元数据时出现错误 如果我运行n
  • 将焦点转移到特定领域

    我有一个按钮 可以在页面上添加显示表单 单击该按钮时如何将焦点移动到表单的第一个字段 简单的例子 HTML
  • 保存和恢复 shell 变量

    我有两个 shell 脚本 我想从 C 程序调用它们 我希望第一个脚本中设置的 shell 变量在第二个脚本中可见 它看起来像这样 a sh var blah
  • C++ 创建数组

    为什么我不能做这样的事情 int size menu size int list size 有没有办法不使用向量来解决这个问题 数组更快 所以我想使用数组 thanks 大小必须在编译时已知 因为编译器需要知道多少堆栈空间需要为其分配足够的