가능한 중복 :이 Is there any way to determine the size of a C++ array programmatically? And if not, why? , 어떻게 C++의 delete 연산자 무료로 얼마나 많은 요소를 알고하지 않습니다 만약 내가, C++에서 동적으로 할당 된 배열의 길이를 얻을 수 있습니다. 포럼을 검색 한 결과,
을 삭제 :이 코드에 문제가 #include <iostream>
using namespace std;
double* foo(void)
{
double* b = new double[100];
return b;
}
int main()
{
double* a = foo();
delete [] a;
ret
내 C++ 프로그램에서 new를 사용하여 하나의 함수로 개체를 만듭니다. 이러한 개체는 집합에 삽입됩니다. 집합에서 객체를 제거하려면 for-loop에서 반복자를 사용합니다. 집합에서 개체를 제거 할 때 개체를 삭제하여 메모리를 확보해야합니다. 맞습니까? delete를 사용하여 시도했지만, 해제 된 포인터가 할당되지 않았다는 오류가 발생합니다. 그러면 어떻
C++에서 간단한 코드를 시도했지만 포인터를 삭제할 때 Debug Assertion Failed _BLOCK_TYPE_IS_VALID 오류가 발생합니다. 내가 뭘 잘못하고 있는지 모르겠다. 여기 내 코드가있다. 내가 hash_map의 second 필드를 삭제하면 hash_map<string,string> m_hashDetails;
m_hashDet
char * 배열을 삭제하고 싶습니다. 간단할까요? char * = new char[length]; 다음 delete[] char;을 사용 하시겠습니까? 또한이 연습에서는 std::string을 사용할 수 없습니다. 여기 HEAP CORRUPTION DETECTED: after Normal block (#137) 0x00794B50. CRT detected
는 은 다음 클래스를 고려 public ref class Workspace
{
protected:
Form^ WorkspaceUI;
SplitContainer^ WorkspaceSplitter;
AvalonEditTextEditor^ TextEditor;
ScriptOffsetViewer^ OffsetView
delete이 불완전한 형식의 포인터에 적용될 경우 Visual C++에 C4150 warning이 있습니다. 이러한 경우에는 표준에 따라 정의되지 않은 동작이 발생합니다. Visual C++에서 AFAIK을 사용하면 기본값이 operator delete()이고 아무런 소멸자도 호출되지 않으므로 수많은 버그가 발생할 수 있습니다. 이제 Visual C++에