- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
文件扩展名:.cpp
我有以下代码:
int main() {
int N; cin >> N;
int myArray[N];
return 0;
}
如果我将 N 输入为 1,000,000,则在尝试运行该程序时会出现错误。但是,当我将 myArray[N]
设置为 myArray[1000000]
时,它不会。为什么会这样?
最佳答案
int myArray[N];
在 C++ 中无效。这种行为是在 C99 中引入的,但从未在 C++ 中引入,可能是因为为了使其正常工作,它会导致在幕后发生许多丑陋的事情,结果会降低生成的代码的效率。事实上,这个特性甚至在 C11 中被逆转,它的支持只是可选的,不再是强制性的。使用 std::vector<int>
相反,或您选择的任何类似的标准容器。
关于c++ - myArray[N] 其中 N = 1,000,000 返回错误,而 myArray[1,000,000] 不返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53207879/
所以下面的代码会发出两次错误警报: window.onload = function(){ alert(window.myframe.myarray insta
所以下面的代码会发出两次错误警报: window.onload = function(){ alert(window.myframe.myarray insta
我有一些 Perl 代码: { key => [@{$myArray}] } 我想将其重构为: { key => $myArray } 如果我不改变 key 指向的值,这两个在语义上是否等效?
#include #include class MyArray { int* array; public: MyArray(){} MyArray(std::initial
在假设将分配不必要的大量内存的情况下,我总是害怕将事物声明为变体。 最近致力于提高电子表格的性能,但我得到了相反的印象(见下面的编辑):Dim myarray() as Variant与 Dim my
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: How come an array’s address is equal to its value in C
正如标题所说,我感兴趣的是数组本身和数组子集之间的类型差异。作为背景,我将数组传递到 MPI 函数中,当使用零长度数组调用时,该函数会触发“数组索引越界”错误,但仅使用子集表示法。这是当前问题的简化示
使用 myArray.GetValue(2) 和 myArray[2] 有什么区别吗? 例如: namespace ConsoleApplication16 { class Program
这个问题在这里已经有了答案: Difference between Array.length = 0 and Array =[]? (3 个答案) How do I empty an array i
文件扩展名:.cpp 我有以下代码: int main() { int N; cin >> N; int myArray[N]; return 0; } 如果我将 N 输入为
- (id)initWithStyle:(UITableViewStyle)style { // Override initWithStyle: if you create the contr
考虑以下类型定义和变量定义: typedef char x[10]; x myArray[5]; sizeof(myArray)是50,但不知道为什么? (假设一个字符占1个字节。) 请解释答案?
name 在下面的语句中有什么作用? var myArray =[], name; 我通常按如下方式初始化我的数组: var myArray =[]; 最佳答案 它是的简写 var myArray =
我找不到在 Internet 上正确搜索它的方法,但是当尝试使用 foreach 循环在 visual studio 上打印出一个简单数组时发生了一些奇怪的事情。 int[] MyArray = {
是否可以将可观察数组的长度存储在可观察变量中并将其绑定(bind)到 View ,就像这样? self.MyArray = ko.observableArray([]); self.MyArrayle
有一些代码可以创建一个像这样的浮点数组: mData = new float[channelCount * maxFrames]; 然后它确实 memcpy(&mData[sampleIndex],
这个问题已经有答案了: Why does a void function return a value? (5 个回答) 已关闭 7 年前。 请帮助我理解这里发生了什么: Main.java: int
学习Javascript。我有一个关于 forEach 的问题。我不明白为什么这两个循环有不同的结果: var myArray = [1,2,3,4,5]; myArray.forEach(funct
我有 var myArray = ["word", "are", "tame"]; var result = myArray.join('s').split('a'); 1)计算:“wordsares
我正在尝试创建一个程序,如果用户输入 1-9 之间的 X 数字,它会采用该 X 数字并创建 X 数字的行和列。例如,如果用户输入“5”,输出应该是这样的: ....1 ...2. ..3.. .4..
我是一名优秀的程序员,十分优秀!