注册 登录
编程论坛 VC++/MFC

C++ Primer 第4版 习题4.33的问题

luocheng 发布于 2013-06-16 20:22, 465 次点击
编写程序把int型vector复制给int型数组。
下面我的代码:
程序代码:
#include<vector>
#include<iostream>
using namespace std;
int main()
{
    vector<int> ivec(10,-1);
    int *p = new int[10];
    for (vector<int>::size_type i = 0; i != 10; i++)
    {
        *p = ivec[i];
        p++;
        cout << *p << endl;

    }
    delete [] (p-ivec.size());

    return 0;
}


运行出来是10个随机数啊,求解答啊


1 回复
#2
lonmaor2013-06-16 21:15
1.没见过这样的代码
delete [] (p-ivec.size());


2.你是p++之后再输出*p的值,而此时p指向的是一个未初始化的数值。要想达到你输出-1的效果,把p++和cout交换位置就可以了。
1