堆栈中的动态数组?

2023-11-30

它是否正确 ? 这是用 g++ (3.4) 成功编译的。



int main()
{
    int x = 12;
    char pz[x]; 
}
  

这是所有其他问题的组合答案:

你现在的代码是not标准C++。它is标准C99。这是因为 C99 允许您以这种方式动态声明数组。澄清一下,这也是标准 C99:

#include <stdio.h>

int main()
{
    int x = 0;

    scanf("%d", &x);

    char pz[x]; 
}

This is not标准的任何东西:

#include <iostream>

int main()
{
    int x = 0;
    std::cin >> x;
    char pz[x]; 
}

它不能是标准 C++,因为它需要恒定的数组大小,并且它不能是标准 C,因为 C 没有std::cin(或者命名空间,或者类,等等......)

要使其成为标准 C++,请执行以下操作:

int main()
{
    const int x = 12; // x is 12 now and forever...
    char pz[x]; // ...therefore it can be used here
}

如果你想要一个动态数组,你can做这个:

#include <iostream>

int main()
{
    int x = 0;
    std::cin >> x;

    char *pz = new char[x];

    delete [] pz;
}

但你应该这样做:

#include <iostream>
#include <vector>

int main()
{
    int x = 0;
    std::cin >> x;

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

堆栈中的动态数组? 的相关文章

随机推荐

  • 拆分变量的第一个字母

    我需要从变量 name 中拆分第一个字母 我怎样才能做到呢 name userData name 我怎样才能得到第一封信 请检查是否正确 if userData gender male if firstletter i picture Im
  • MySQL 中的 BULK INSERT 问题

    我在执行批量插入时遇到以下 SQL 命令错误 BULK INSERT libra faculty FROM d faculty csv WITH FIELDTERMINATOR ROWTERMINATOR n 这是错误消息 ERROR 10
  • 我可以将文件添加到本地 Git 存储库但不将其推送到远程吗

    我有许多大型视频文件 我不想将其推送到远程 但我确实想将它们添加到本地存储库 有点像远程版本 gitignore file 那可能吗 更具体地说 我正在开发一个多媒体项目 一个文件夹包含项目元数据文件 它是一个 Screenflow 项目
  • ggplot 中的反向日期时间(POSIXct 数据)轴

    我正在尝试使用 ggplot 创建 POSIXct 时间图 并且想反转轴 但正在努力使其工作 我一直在使用scale y datetime 因为在我的实际应用程序中 控制该轴上的中断非常重要 这是我的问题的一个例子 首先是正常排序 然后是我
  • 获取 Android 设备的永久唯一 ID

    我有一个应用程序 我想在其中使用唯一 ID 来识别设备 我尝试了多种解决方案 但在手机重置后唯一 ID 发生了变化 如 ANDROID ID 我使用了下面的 StackOverflow 链接 但现在不可用 Android 设备有唯一的 ID
  • Matlab加载库错误

    我打算将OpenCV 1 1版本和Matlab2011一起使用 该程序使用调用来加载库 但是 它返回一个错误 gt In loadlibrary at 347 In Untitled at 4 Error using loadlibrary
  • 在 Java 中将二进制输入流读入单个字节数组

    文档说不应该使用available 确定尺寸的方法InputStream 我怎样才能阅读一篇文章的全部内容InputStream到字节数组中 InputStream in assuming already present byte data
  • ActionBarCompat 菜单项未显示[重复]

    这个问题在这里已经有答案了 这是我的general xml file menu menu
  • 在 ruby​​ on Rails 中提交表单时显示结果数据,无需刷新页面

    我对 ruby on Rails 很陌生 我遇到了一个问题 我有一个主题列表 在此列表下方有一个用于添加主题的表格 我正在尝试添加一个主题而不刷新页面 并将该主题显示在主题列表的正下方 新添加的主题正在插入数据库 但如果不刷新页面 它不会显
  • TypeScript 1.5:ES6 模块默认导入 CommonJS 'export ='(.d.ts 唯一问题?)[重复]

    这个问题在这里已经有答案了 我遇到了以下问题 import moment from moment moment本身是一个默认 CommonJS 导出的函数 如此处编码https github com borisyankov Definite
  • Chrome 在没有任何用户交互的情况下立即消除确认()提示

    我们网站的一些用户报告说confirm对话框出现 但立即消失 就好像它们被自动关闭一样 这似乎只影响 Chrome 而不影响其他浏览器 甚至 Chromium 搜索类似问题发现很多人都在抱怨confirm里面的对话onbeforeunloa
  • NSMutableDictionary setObject:forKey: 无法添加密钥

    我确信我在尝试编写的一个小型iPhone程序中遗漏了一些东西 但是代码很简单并且编译时没有任何错误 所以我无法看出错误在哪里 我设置了一个 NSMutableDictionary 来存储学生的属性 每个属性都有一个唯一的键 在头文件中 我声
  • 如何自定义 git 的合并提交消息?

    每次进行合并时 我都需要生成合并提交 并且我希望它不仅仅是所有提交的摘要 我的问题是如何格式化 git fmt merge msg 或决定此自动消息的因素 我可以在提交后通过修改并使用 git log pretty format 手动执行此
  • Jetty '{servlet}/{parameter}' url 路由

    我使用的是码头9 0 3 如何将 www myweb com servlet parameter 等 URL 映射到给定的 servlet 和参数 例如 URL client 12312 将路由到 clientServlet 及其doGet
  • 如何解决返回对象的映射中的待处理承诺?

    这将解决所有承诺 const promises files map filename gt getPdfToPrint output outputDirectory filename replace const res await Prom
  • 查找mysql中整数的排名[重复]

    这个问题在这里已经有答案了 可能的重复 Mysql排名函数 我有以下国家 地区表 country clicks 0 222 66 34 175 1000 45 650 我如何获得 45 个国家 地区的排名 在本例中为 2 订购country
  • 在 driver=new ChromeDriver(); 行上获取“InitationTargetException”异常;

    我正在打开 Chrome 浏览器 并收到异常 InvocationTargetException 几天前代码运行正常 这是我的代码 System setProperty webdriver chrome driver D Automatio
  • 获取数组的所有组合

    我目前正在尝试创建一个函数来获取数组值的所有可能组合 我想出了一个非函数版本 但它仅限于 3 个值 所以我试图用它来创建一个函数 使其变得更强大Dynamic 我尝试搜索 但找不到我想要做的 powershell 示例 我可以找到 PHP
  • 如何从java中的JSONObject获取所有键/子键?

    这是我的 JSONObject per page 3 total 12 data color 98B2D1 year 2000 name cerulean id 1 pantone value 15 4020 color C74375 ye
  • 堆栈中的动态数组?

    它是否正确 这是用 g 3 4 成功编译的 int main int x 12 char pz x 这是所有其他问题的组合答案 你现在的代码是not标准C 它is标准C99 这是因为 C99 允许您以这种方式动态声明数组 澄清一下 这也是标