带有数组名称的增量运算符,它有什么作用
Increment operator with array name, what does it do?
我基本上是用这段代码来了解数组值的移动。我很好,直到它说++mode[i][0]
靠近底部的地方。这实际上增加了什么?顺便说一下,这不是我的代码。
int main()
{
int arr[10];
int mode[10][2];
cout << "Enter 10 integer valuesn";
for (int l = 0; l < 10; l++)
{
cout << "value " << l << ":";
cin >> arr[l];
}
int i, j, temp;
for (i = 0; i < 10; i++)
{
for (j = 9; j > i; j--)
{
if (arr[j] < arr[j - 1])
{
int temp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = temp;
for (int x = 0; x < 10; x++)
{
cout << arr[x] << " ";
}
cout << "n";
}
}
}
cout << "Highest number = " << arr[9] << "nLowest number = " << arr[0];
for (i = 0; i < 2; i++)
{
for (j = 0; j < 10; j++)
{
mode[j][i] = 0;
}
}
mode[0][0] = 1;
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
if (arr[i] == arr[j + 1])
{
++mode[i][0];
mode[i][1] = arr[i];
}
}
}
你可以这样看:
++(mode[i][0]);
因此,它将增加存储在mode[i][0]
中的值
自mode[i][0] = some_int
以来,特别是数组中索引处的第一个元素[i]
它正在增加存储在那里的值
operator[]
的优先级高于operator++
,所以++mode[i][0]
实际上被视为++(mode[i][0])
,而不是像你想象的那样(++mode)[i][0]
。
代码递增数组中的特定int
,而不是递增数组本身。
相关文章:
- 重载运算符的范围是什么?它是否会影响作为类成员的集合的插入函数?
- 如果我真的真的想从 STL 容器继承,并且我继承构造函数并删除新运算符,会发生什么?
- 这里的 = 运算符有什么用法?
- unique_ptr < 0 或小于运算符做什么?
- "operator()"在重载运算符方法中是什么意思,在priority_queue(STL)中用作C++中的比较器?
- 是什么让一些命名函数/运算符与众不同?
- C++,()运算符重载,它的工作是什么
- 提供运算符+或运算符到双向迭代器有什么缺点吗?
- std::set<Key,Compare,Allocator>::find() 函数使用"<"运算符而不是"=="运算符背后的直觉是什么?
- 有什么理由不扩展 std::set 以添加下标运算符吗?
- 在C++中,运算符 sizeof 返回什么数据类型?
- 运算符++();调用和++(*this)有什么区别?
- 第二个常量在运算符函数中做什么?
- 使输出流式处理运算符适用于 boost::variant<std::vector<int>、int、double 的正确方法是什么>
- 当值传递给C++中的运算符重载函数时会发生什么
- 除了调用全局删除运算符之外,删除一个void指针还能做什么呢
- c++运算符重载-我实际返回的操作数类型是什么
- 这个typedef和转换运算符语法是什么意思
- 当正斜杠运算符应用于C++中的字符串类型时,它会做什么
- 运算符和返回类型是什么意思?