하이에있는 int PTR을 가리키는 배열을 삭제하려면?어떻게 내가 뭔가를해야 함이
-2
A
답변
3
배열 중간에 정의되지 않은 동작 인 delete
을 호출하고 있습니다. 이 간단한 경우 당신은 당신은 색인을
p[0] = 1;
p[1] = 2;
를 사용하도록 코드를 조정해야
delete [] (p - 1);
배열의 시작으로 돌아가하거나 포인터의 복사본을 만들 필요 했어
auto p2 = p;
*p2 = 1;
++p2;
*p2 = 2;
delete [] p;
0
아니요, 아니요, new
이 아닌 포인터입니다. 원래 포인터 값 new
이 변경되었습니다.
그렇게하는 올바른 방법은 다음과 같습니다이 경우
int* p = new int[3];
p[0] = 1;
p[1] = 2;
delete[] p;
당신은 당신이 할당 된 메모리에 원래의 포인터를 유지한다.
포인터에서 산술 연산을 수행하려면 원래 값을 저장해야 delete[]
에 전달할 수 있습니다.
int* p = new int[3];
int* orig = p;
*p = 1;
p++;
*p = 2;
delete[] orig;
관련 문제
- 1. 내가 뭔가를해야 경우가
- 2. 약간의 불편 함이 있습니다. 방법
- 3. 여기에 약간의 명료 함이 필요합니다.
- 4. 확인란을 선택한 경우 토글 함이 표시됩니다.
- 5. DKIM 및 도메인 키 과도 함이 발생합니까?
- 6. 이 경우 jQuery 탭에 잔인 함이 있습니까?
- 7. DOM 잔인 함이 준비되었는지 확인하고 있습니까?
- 8. 기본 Java POJO에서 log4j.Logger 과도 함이 발생합니까?
- 9. YouTube 라이브에 데이터 수신 안 함이 있습니다.
- 10. 비즈니스 응용 프로그램을위한 Canvas 과도 함이 있습니까?
- 11. Chrome 개발자가 터치를 에뮬레이트 함이 부정확합니다.
- 12. 충족되지 않은 요구 사항 : 꿀꺽 꿀꺽 함이 있습니다.
- 13. 내가 데이터베이스 (SQLite는, MySQL은)의 2 종류의 시간을 확인하기 위해 안드로이드에 aplication을해야, 그래서는 "시계"나 같은 뭔가를해야 타이머/시계
- 14. jQuery 드롭 다운 선택됨 = Safari에서 선택 함이 작동하지 않습니다.
- 15. 체크 상자 사용 안 함이 true 인 경우 클래스 제거
- 16. 가끔씩 접속이 가능하지 않지만 앱에 존재 함이 표시됩니다.
- 17. 어떻게 내가
- 18. 어떻게 내가
- 19. 어떻게 내가
- 20. 어떻게 내가
- 21. 내가 어떻게
- 22. , 어떻게 내가
- 23. 어떻게 내가
- 24. CKEditor : 단추 및 텍스트 영역 사용 안 함이 업데이트되었습니다.
- 25. 크롬 및 Firefox에서 .prop 사용 안 함이 작동하지 않습니다.
- 26. 개발자 도구에서 캐시 옵션 사용 안 함이 적용되지 않습니다.
- 27. 내 웹 사이트에서 방금 Google Cloud에서 호스팅 함이 비어 있습니다.
- 28. ASP 페이지 새로 고침 사용 안 함이 확인
- 29. PHP 폼의 상태 디자인 패턴 과도 함이 있습니까?
- 30. 텍스트 상자 사용 안 함이 데이터베이스에 값을 보내지 않습니다.
아니요. 정의되지 않은 동작입니다. –