什么是程序的输出

时间:2016-12-20 16:28:47

标签: c++ delete-operator

#include<iostream>
using namespace std;

int main()
{
  int *arr ;

   arr = new int[10];
  for(int i=0;i<10;i++)
        arr[i] = i;

    delete arr;
    for(int i=1 ; i<10;i++)
cout<<arr[i];

}

我期待一个答案“123456789”,但答案是“023456789”

2 个答案:

答案 0 :(得分:2)

这里有两个问题:你在使用之前删除了数组,这导致了未定义的行为。

其次,你没有使用正确的删除形式,这可能就是为什么只清除了第一个元素。

删除需要在打印循环后移动到,并且需要更改为:

delete [] arr;

答案 1 :(得分:-2)

browser.actions().mouseMove(EmailTemplates.templateName.get(i)).perform();

var deleteButton = EmailTemplates.deleteBtn.get(i);  
browser.wait(EC.elementToBeClickable(deleteButton), 5000);  

browser.actions().mouseMove(deleteButton).click().perform();
EmailTemplates.confirmDelete.click();