小编Ram*_*pta的帖子

在C++中将一个指针复制到另一个指针

#include <iostream>

using namespace std;

int main(int argc, char **argv) {
    int a=5;
    int *p,*q;

    *p = a;
    *q = *p;  //line 6

    cout<<*p<<p<<*q<<q;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这个程序挂了.似乎问题出在第6行.为什么会这样?

c++ pointers

6
推荐指数
2
解决办法
9306
查看次数

while和for循环在c ++中

1)

 i = 0;

 while(i < N){

   j = i+1;

   while(j < N && p[i].first == p[j].first && p[j].second - p[i].second < K) j++;

     i = j; res++;

             }
Run Code Online (Sandbox Code Playgroud)

2)

for(i=0;i<N;i++){

   j = i+1;

   while(j < N && p[i].first == p[j].first && p[j].second - p[i].second < K) j++;

     i = j; res++;
                 }
Run Code Online (Sandbox Code Playgroud)

第一个代码和第二个代码的区别仅在于1)中的while循环和2中的循环.但据我所知,由于它们两者的输出应该是相同的,但它有所不同.以上代码都只是总代码的一部分.但是我应该告诉你1)输出是2,而2)是3.

我不知道为什么答案是不同的,因为发生的一切都是一样的.

c++ for-loop while-loop

1
推荐指数
1
解决办法
173
查看次数

STL中的后退功能

我随处读到back()函数返回对最后一个元素的引用,但我有一个疑问.

我用元素1,3,5 resp创建了一个向量.然后我写了下面的代码

int i = v.back();
i++;
Run Code Online (Sandbox Code Playgroud)

在上面的两个陈述之后,我打印了矢量,我得到了输出1 3 5,而当我增加参考时它应该是1 3 6.

但是当我这样做(v.back())++然后打印矢量的值时,我得到了结果

1 3 6
Run Code Online (Sandbox Code Playgroud)

我不明白输出的差异,据我说它应该是一样的.如果我错了,请纠正我.

c++ stl back

0
推荐指数
1
解决办法
586
查看次数

标签 统计

c++ ×3

back ×1

for-loop ×1

pointers ×1

stl ×1

while-loop ×1