Эта небольшая статья в первую очередь предназначена для начинающих C++ программистов, которые либо слышали об умных указателях, но боялись их применять, либо они устали следить за new-delete. UPD: Статья писалась, когда C++11 еще не был так популярен. Итак, программисты С++ знают, что память нужно освобождать. Желательно всегда. И они знают...
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
오류, 버그, 질문
fxsaber , 2018.12.01 11:15
슈퍼 제동 설계100만 라인의 40MB 파일을 18초 만에 읽습니다.
동일한 출력이지만 다르게 수행됨
0.5초만에 완료.
auto_ptr의 간단한 유사체(더 이상 사용되지 않음). 참고: 아주 유사하지는 않습니다.
...
https://habr.com/post/140222/
파블릭_
operator=에서 시작 부분에 줄을 추가해야 합니다.
아마도 다음과 같이 제한해야 할 것입니다(전혀 복사할 수 없음).
auto_ptr에 대한 사본을 만든 이유는 무엇입니까? µl의 곡률로 인해 스택 개체를 CArrayObj 에 복사하려면 생성자를 여러 번 호출하여 여러 개체를 만들어야 합니다. 하지만 그럴 가치가 없다고 생각합니다. 이와 관련하여 첫 번째 메시지를 철거하겠습니다.auto_ptr에 대한 사본을 만든 이유는 무엇입니까? µl의 곡률로 인해 스택 개체를 CArrayObj에 복사하려면 생성자를 여러 번 호출하여 여러 개체를 만들어야 합니다.
그리고 왜 "곡률 mkl"입니까?
그리고 왜 "곡률 mkl"입니까?
간단한 작업 - 스택 개체의 복사본을 배열에 추가하려면 다음이 + 필요하지 않은 기본 생성자를 작성해야 합니다.
치명적이지는 않습니다. 예, Q에서 init()를 수행하면 문제가 약간 완화되지만 여전히 혐오감을 유발합니다. 그리고 복사한 auto_ptr이 있으면 모든 것이 두 줄로 이루어지지만 게임은 양초의 가치가 없습니다. 어쩌면 너무 까다롭고 완벽주의적일 수도 있습니다.
간단한 작업 - 스택 개체의 복사본을 배열에 추가하려면 다음이 + 필요하지 않은 기본 생성자를 작성해야 합니다.
치명적이지는 않습니다. 예, Q에서 init()를 수행하면 문제가 약간 완화되지만 여전히 혐오감을 유발합니다. 그리고 복사한 auto_ptr이 있으면 모든 것이 두 줄로 이루어지지만 게임은 양초의 가치가 없습니다. 어쩌면 너무 까다롭고 완벽주의적일 수도 있습니다.
그러나 결국 C ++에서는 모든 것이 정확히 동일하므로 곡선이 µl인 이유는 명확하지 않습니다.
그리고 귀하의 경우 복사 생성자를 설정하고 한 줄에 요소를 추가하는 것이 더 쉽습니다.
ar.Add( new Q(q));
간단한 작업 - 스택 개체의 복사본을 배열에 추가하려면 다음이 + 필요하지 않은 기본 생성자를 작성해야 합니다.
치명적이지는 않습니다. 예, Q에서 init()를 수행하면 문제가 약간 완화되지만 여전히 혐오감을 유발합니다. 그리고 복사한 auto_ptr이 있으면 모든 것이 두 줄로 이루어지지만 게임은 양초의 가치가 없습니다. 어쩌면 너무 까다롭고 완벽주의적일 수도 있습니다.
어쨌든 모든 일이 발생합니다. auto_ptr 뒤에 숨겨져 있습니다...
여기에는 문제가 없습니다.
나는 굳은 방귀처럼 - 메모리가 자동으로 삭제되는 C # 접근 방식이 마음에 들지 않습니다. 나에 따르면 요청한 사람은 개체 삭제에 대한 책임이 있어야 하며 거기에 있는 "가비지 수집기"는 전혀 하지 않아야 합니다.
그러나 결국 C ++에서는 모든 것이 정확히 동일하므로 곡선이 µl인 이유는 명확하지 않습니다.
그리고 귀하의 경우 복사 생성자를 설정하고 한 줄에 요소를 추가하는 것이 더 쉽습니다.
어떻게 똑같나요? 자동으로 복사 생성자가 있고 모든 조작은 다음과 같습니다.
예, 귀하의 경우 복사 생성자를 설정하고 한 줄에 요소를 추가하는 것이 더 쉽습니다.
당연히 이것은 예를 들어 장난감 클래스입니다. 실제로는 일부 데이터, 아마도 많이 있을 수 있습니다. 복사 생성자를 작성하는 것은 전혀 옵션이 아닙니다. 필요한 위치를 래퍼로 래핑했으며 사용자 지정 생성자가 필요하지 않았습니다.
어쨌든 모든 일이 발생합니다. auto_ptr 뒤에 숨겨져 있습니다...
여기에는 문제가 없습니다.
나는 굳은 방귀처럼 - 메모리가 자동으로 삭제되는 C # 접근 방식이 마음에 들지 않습니다. 나에 따르면 요청한 사람은 개체 삭제에 대한 책임이 있어야 하며 거기에 있는 "가비지 수집기"는 전혀 하지 않아야 합니다.
마이크로 리터에서는 스마트 포인터 없이도 할 수 있습니다. 가비지 컬렉터 != 스마트 포인터, 예외 때문에 적어도 스마트 포인터 없이는 할 수 없습니다. 가비지 컬렉터도 싫다.