数组中元素的前置任务是什么?我如何找到它
What is Predecessor of an element in an array? How do I find it?
我试图谷歌但徒劳无功。
在C++数组存储在连续内存中。
这意味着,如果你有一个x
元素,并且你知道它在一个数组中,并且它不是数组的第一个元素,那么前一个元素是
*(&x - 1)
即我们减去 1 后由 x
地址指向的元素(请注意,这是有效的,因为 C++ 中的指针算术考虑元素大小,因此&x - 1
不是指向前面的字节,而是指向前面的元素)。
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- C++避免重复声明的语法是什么
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 实现无开销push_back的最佳方法是什么
- C++从另一个类访问公共静态向量的正确方法是什么
- "throw expression code" 1e7 >返回 d 是什么?投掷标准::overflow_error( "too big" ) : d;意味 着?
- C++中名称篡改的目的是什么
- 在 c++ 中拥有一组结构的正确方法是什么?
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 是什么阻止DOMTimerCoordinator::NextID进入无休止的循环
- 派生类销毁的最佳实践是什么
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 通过JNI传递数据数组的最快方法是什么
- "using namespace std;"在C++的作用是什么?
- 在两台机器之间进行时间戳的最佳c++chrono函数是什么
- 我如何找出3D容器的元素是什么类型
- 这个语句到底是什么意思 stack<int, list<int> > 它与 stack 有何不同<int>?
- 从一组集合中找出所有不相交集合的算法是什么
- 是什么原因导致clang找不到无序映射标头
- 找不到究竟是什么 boost::async