인터페이스 설계는 제대로 쓰기엔 쉽게, 엉터리로 쓰기엔 어렵게하자. 인터페이스는 c++에서 쓰이는 함수, 클래스, 템플릿 등을 모두 포괄하는 의미이다. 사용자가 저지를 수 있는 오류에는 여러가지가 있고, 개발자는 그러한것들을 최대한 줄일 수 있도록 여러 안전 장치들을 마련해 놓을 필요가 있다. 예제 1 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 ..
new로 생성한 객체를 스마트 포인터에 저장하는 코드는 별도의 한 문장으로 만들자. new를 사용하여 생성한 객체를 스마트 포인터등에 저장 할 때 단계가 많거나 복잡할 수 록 메모리 누수가 발생 할 수 있다. 예제 1 1 2 3 4 5 6 7 8 9 10 11 12 //우선 순위를 알려 주는 함수 int priority(); //동적으로 할당한 Widget객체에 대해 어떤 운선순위에 따라 처리를 적용하는 함수 void processWidget(std:tr1::shared_ptrpw, int priority); void main() { processWidget(std:tr1::shared_ptr(new Widget),priority()); } Colored by Color Scripter cs 어디서든 잘..
new 및 delete를 사용할 때는 형태를 반드시 맞추자 동적할당 연산자 new, delete를 사용 할 때 형태를 일치 시켜야한다. 사용법 int* pnCount = new int; delete pnCount; int* pArryCount = new int[100]; delete [] pArryCount; 예제 1 std::string *pStringArray = new std::string[100]; delete pStringArray; 위 코드와 같이 사용하면 pStringArray가 가리키는 100개의 string 객체들 가운데 99개는 정상적인 소멸 과정을 거치지 못합니다. new를 사용하여 동적 메모리가 할당을 시도하게 되면 그 과정에서 std::string()의 생성자는 할 당 된 수 만큼..
자원관리 클래스에서 관리되는 자원은 외부에서 접근할 수 있도록 하자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 // 항목 13에서 가져온 예제 void main() { std::tr1::shared_ptr pInv(createInvestment()); // 투자금이 유입된 이후로 경과한 날수 int dayHeld(const Investment *pi); // 에러 int days = daysHeld(pInv); /* daysHeld함수는 Investment * 타입을 원하는데 std::tr1::shared_ptr타입의 객체를 넘기고 있음 std::tr1::shared_ptr을 Investment *로 변환하고 싶어짐 */ } Colored by Color Scrip..
- Total
- Today
- Yesterday
- string
- 패턴
- StringFormat
- RSA
- 블록암호화
- 인젝션
- C#
- 네트워크설정
- 암호화
- C#.NET
- C# 고급 기술
- 네트워크 정보
- 네트워크 연결
- 해시
- 최우림
- 디자인 패턴
- cpu 정보
- 백터
- process
- 대칭키
- 블럭암호화
- IV
- C
- C++
- bit
- 디지털서명
- 디자인패턴
- cpu 점유율
- cpu 이용률
- 네트워크 카드 이름
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |