您可以对指针执行有限数量的算术运算。这些操作是:递增,递减,加法,减法,比较和赋值。
我知道空指针不允许使用指针算术。但是想象一下我有这样的东西:class MyArray {int * arrayBegin; //指向第一个数组项的指针,对于空数组为NULL ...
void * ptr = NULL; //未指定的13字节类型的数组,用于(int i = 0; i <10; i ++){printf(“%i”,((char(*)[13])ptr)+ i); } putchar('\ n');输出:0 13 26 39 52 65 78 91 104 117 So ...
不知道数组的大小时,如何显示字符数组中的最后一个字符?数组*('\ 0'-1)可以工作吗?
我有一个非常奇怪的对齐异常,仅在某些硬件组合上才会发生。我已经实现了一个蓝牙音频接收器,该音频接收器的数据从unix文件描述符中获取。当我...
这是有效的C ++吗? int main(){int i = 0; int * pi =&i; ++ pi;我知道数组类型允许使用单尾指针,但是在这种情况下我不确定。该代码是否......>
我已经在OpenGL VBO实现中使用了以下宏:#define BUFFER_OFFSET(i)((char *)NULL +(i))// ... glNormalPointer(GL_FLOAT,32,BUFFER_OFFSET(x));您能提供一个...
我正在尝试向用户询问3个不同的字符串,如果第二个字符串是第一个字符串的一部分,它将用第三个字符串替换该部分。除此之外,我必须使用指针...
我有一个很大的uint8_t数组(大小= 1824 * 942)。我想对每个元素执行相同的操作。特别是我需要从每个元素中减去-15。每秒刷新此数组20次,...
我有一个很大的uint8_t数组(大小= 1824 * 942)。我想对每个元素执行相同的操作。特别是我需要从每个元素中减去-15。每秒刷新此数组20次,...
如果我有一个简单的张量类,例如struct Tensor {double XX,XY,XZ; YX,YY,YZ的双倍;双ZX,ZY,ZZ; }使用指针算术(请参见下文)对...
在该书中, “了解和用C指针” 由Richard里斯它说85页,INT矢量[5] = {1,2,3,4,5};由向量[I]所产生的代码是从由*生成(的代码不同...
由于包含一张双人床和3个int变量(4个变量在所有),如果p是一个指针,这个结构与值0x1000的一个结构的定义,并p ++有什么价值?这不是一门功课......
我试图减去数组中两个元素的两个内存地址,称为nums,我有这个:cout <<减去内存地址:<<(&nums [50]) - (&nums [0]); ......
将shared_ptr设置为new_pointer,即old_pointer + offset
这是一个智能指针:std :: shared_ptr p(new char [size])表示填充原始二进制文件内容的数组。在整个数组从文件复制到RAM之后(仅在之后),我...
我有以下函数打印矩阵:void printMat(int * mat,int size){int i; for(i = 0; i <size; i ++)printf(“%d”,mat [i]);的printf( “\ n”);现在,假设......
在C ++中,指针算法的a + i和&a [i]有什么区别?
假设我们有:char * a; int i;许多C ++的介绍(像这一个)表明rvalues a + i和&a [i]是可以互换的。我天真地相信这几十年,直到我......
运行我的程序时,它在执行cout <时终止 name()第二次。在研究了这个问题之后,我了解到在这种情况下指针算术会导致问题。 ...
(p + x)-x总是在gcc linux x86-64 C ++中为指针p和整数x产生p
假设我们有:char * p; int x;正如最近在另一个问题中讨论的那样,包括对无效指针的比较操作的算法可能会在gcc linux x86-64 C ++中产生意外行为。 ...
如果ap是一个指针,为什么我可以通过ap [i]来引用它的值?
class Vektor {private:double * ap; int len; public:Vektor():ap(0),len(0){} Vektor(int n):len(n){ap = new double [n]; } double&front(){return ap [0];双...
我有一个自定义分配器类,看起来像这样:class allocator {private:char * memory; std :: ptrdiff_t offset; std :: size_t total_size; public:allocator(std :: size_t size):...