클래스 정의 new, new [], delete 및 delete []가 정적 인 경우 표준에 필요합니까? 비 정적 멤버 연산자로 만들 수 있습니까? 그리고 왜 그들이 정적이되어야합니까?클래스에 특정한 새 삭제 연산자를 정적으로 선언해야합니까?
답변
예 정적 인 것은 필수입니다. 그것들은 아직 존재하지 않는 객체를위한 메모리를 할당하는데 사용되기 때문에 참조 할 인스턴스가 없다.
"static"을 입력하지 않았더라도 static으로 암시 적으로 선언됩니다.
그게 사실 .... 누군가가 이것을 확인할 수 있습니다 어쩌면 이것은 내가 뭘하고 컴파일러가 정적으로 만들었습니다. –
예, C++ 표준 ANSI ISO, 12.5/1 : "클래스 T에 대한 모든 할당 함수는 명시 적으로 정적으로 선언되지 않은 경우에도 정적 멤버입니다." 12.5/6의 할당 해제와 동일합니다. –
고맙습니다. 테스트 한 결과, 의도적으로 new 연산자에서 컴파일 오류가있는 프로그램을 작성 했으므로 정적으로 사용하지 않았습니다. GCC는 나에게이 오류를 주었다'정적 멤버 함수에서'static void * Foo :: operator new (size_t) ': –
- 1. 왜 jsp의 EL 기능을 정적으로 선언해야합니까?
- 2. 모든 함수를 기본 클래스에 가상으로 선언해야합니까?
- 3. 새 컨테이너 및 컨테이너 삭제
- 4. 정적으로 할당 된 클래스에 대한 직면 오류!
- 5. 템플릿이 비즈니스 클래스에 정적으로 액세스하는 것을 방지합니다.
- 6. 새 오버로드/삭제 문제
- 7. F # 클래스에 list [] 연산자를 구현 하시겠습니까?
- 8. 내장 클래스에 연산자를 오버로드하는 방법은 무엇입니까?
- 9. C#을 - 특정한 방식으로
- 10. 리플렉션을 사용하여 런타임에 클래스에 새 속성을 추가하십시오.
- 11. 개체를 초기화하고 다른 클래스에 저장해야 동적/정적으로 할당해야합니까?
- 12. 제대로 새로운 과부하/삭제 새 []/삭제 []
- 13. OS에 특정한 CSS?
- 14. 배열을 만드는 클래스에 대한 포인터를 삭제
- 15. 삭제 된 클래스에 대한 Xcode보고 오류?
- 16. 클래스에 대한 연산자를 구현하면 인라인되지 않을 가능성이 있습니까?
- 17. 정적 클래스에 대해 ostream << 연산자를 오버로드합니까?
- 18. OpenCV가 cv :: Mat 클래스에 대해 과부하 연산자를 사용하지 않는 이유
- 19. 클래스에 대한 캐스트 투 참조 연산자를 작성하는 방법은 무엇입니까?
- 20. 파이프 라인을 어떻게 선언해야합니까?
- 21. C에서 함수를 선언해야합니까?
- 22. AtomicReference를 휘발성으로 선언해야합니까?
- 23. web.config에서 https를 선언해야합니까?
- 24. 공유/정적 함수에 특정한 ASP.Net 아키텍처
- 25. [] 연산자를 재정의하는 방법은 무엇입니까?
- 26. 이진 직렬화, 클래스에 새 필드 추가 - 작동합니까?
- 27. 기존 클래스에 새 요소를 추가하려면 어떻게합니까?
- 28. Java 라이브러리 클래스에 새 함수 추가
- 29. Dreamweaver for PHP 클래스에 새 "레이아웃"만들기
- 30. gcc를 라이브러리에 정적으로 정적으로 연결 함을
정확합니다. 그렇지 않으면 우리는 닭고기와 계란에 문제가 생길 것입니다! – jason
이것이 궁금합니다. 왜 정적이 아닌 클래스 별 '연산자 new'를 원하십니까? –
정적이 아닌 새로운 클래스의 작은 프로그램을 작성했기 때문에 혼란 스러웠습니다. 그러나 @apoluektov에 의해 설명 된 바와 같이 그것은 암시 적으로 정적 인 것으로 선언됩니다. –