컴파일러가 만들어낸 함수가 필요 없으면 확실히 이들의 사용을 금해 버리자. 우리는 종종 클래스를 쓰면서 복사 생성자와 복사 대입 연산자를 막고 싶을때가 있습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 class CA { }; void main() { CA ca; CA ca2; CA ca3(ca); ca2 = ca; } cs 그러나 우리가 구현하지 않았다고 해서 안 되는 게 아니라 컴파일러가 자동으로 생성해버립니다. 해결 방법은 컴파일러가 생성하는 복사 생성자와 복사 대입 생성자를 private 시켜버리는 겁니다. 이렇게 되면 컴파일러가 디폴트를 만들려고 해도 private로 묶여 있어서 접근할 수 없어져 만들 수가 없게 됩니다. 예제1 1 2 3 4 5 6 7 8 class CA { pu..
타이틀 입력부분C++이 은근슬쩍 만들어 호출해 버리는 함수들에 촉각을 세우자. 1 2 3 4 5 6 7 8 9 class Empty { } ; class Empty { public: Empty() { . . . } // 기본 생성자 Empty ( const Empty & rhs ) { . . . } // 복사 생성자 ~Empty ( ) { . . . } // 소멸자 Empty & operator = ( const Empty & rhs ) { . . . } // 복사 대입 연산자 }; Colored by Color Scripter cs C++의 함수 중에서 프로그래머가 선언해주지 않아도 컴파일러가 저절로 선언해주는 멤버함수가 있다. 복사생성자, 복사 대입연산자, 소멸자가 있는데, 컴파일러가 만들어주는 함수..
- Total
- Today
- Yesterday
- 해시
- StringFormat
- 백터
- cpu 이용률
- 디자인패턴
- process
- 네트워크 연결
- 블록암호화
- 대칭키
- 패턴
- 인젝션
- 네트워크설정
- 최우림
- RSA
- cpu 점유율
- IV
- 디자인 패턴
- C++
- 네트워크 정보
- C#.NET
- C
- 암호화
- cpu 정보
- bit
- string
- C# 고급 기술
- C#
- 디지털서명
- 네트워크 카드 이름
- 블럭암호화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |