c++ - 有人可以解释这个指针在这里指的是什么吗?
问题描述
我遇到了一个素数生成器,他们在其中使用了这行代码
bool *numberlist = new bool[size+1];
这创造了什么?
代码在 for 循环中也有这个:
numberlist[i*j]=true;
numberlist 不是指针吗?你怎么能像数组一样遍历它。
解决方案
为了分解它,第一行代码bool *numberlist = new bool[size+1];
声明了一个大小为 [size+1] 的动态 bool 数组。for 循环中的代码numberlist[i*j]=true;
表示元素 i*j 为真。在 C++ 中,当我们使用大括号运算符 ( []) 我们正在做两件事。一个指针算术(因为数组顺序存储在内存中)和两个取消引用指针(访问指针指向的值)。
推荐阅读
- android - 尝试将 App Bundle 上传到 Play 商店时出错
- pdf - 如何确定 Tika 处理器无法在我的系统中处理 OCR 文档(扫描的 PDF 文档)的原因?
- javascript - 空间有限的滑动导航菜单
- laravel - Laravel 5 邮件问题
- python - 尝试写入文本文件时出现索引错误
- java - Java - 如何找到 BigDecimal 的倒数?
- ios - 在 IAP 收据验证中检测促销代码
- here-api - 从 PC 更新 HERE 离线地图
- php - 将 html 表单值转换为 csv 时没有获取标题
- linux - 如何将从linux生成的静态库.a链接到windows c项目