티스토리 뷰
강의 내용을 무조건 따라하기보다 '어떤 코드가 좋은 코드인가' 부터 먼저 고민봐야 할 것 같다.
요약
- 대체할 수 있는 조건부 컴파일은 템플릿으로 기름칠!
- 매크로는 가급적 사용하지 말고 열거체와 함수로 기름칠!
- 리소스 관리에는 RAII, 기왕이면 스마트 포인터로 기름칠!
- 일회성으로 사용하는 함수는 람다식으로 기름칠!
- 복잡한 타입에는 auto로 기름칠!
- 반복 횟수에 고통받지 말고 범위 기반 for문으로 기름칠!
참고
- 모던 C++ 예제 코드
 http://www.github.com/utilForever/ModernCpp
- C++ 핵심 가이드라인
 영문 : https://github.com/isocpp/CppCoreGuidelines
 한글 : https://github.com/CppKorea/CppCoreGuidelines
예)
기존 C++ 코드
// circle and shape are user-defined types 
circle* p = new circle(42); 
vector<shape*> v = load_shapes();
for (vector<circle*>::iterator i = v.begin(); i != v.end(); ++i) 
{ 
 if (*i && **i == *p) 
  cout << **i << " is a match\n"; 
}
for (vector<circle*>::iterator i = v.begin(); i != v.end(); ++i) 
{ 
 delete *i; // not exception safe 
}
delete p
모던 C++ 코드
// circle and shape are user-defined types 
auto p = make_shared<circle>(42); 
vector<shared_ptr<shape>> v = load_shapes();
for_each(begin(v), end(v), [&](const shared_ptr<shape>& s) 
{ 
 if (s && *s == *p) 
  cout << *s << " is a match\n"; 
})
- James Song
'Seminar' 카테고리의 다른 글
| TechDays 2015 <프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~> (0) | 2016.02.08 | 
|---|---|
| TechDays 2015 <디버깅, 어디까지 해봤니? 당신이 아마도 몰랐을 디버깅 꿀팁 공개> (0) | 2016.01.22 | 
| TechDays 2015 <.NET 2015와 C# 살짝 훔쳐보기> (0) | 2016.01.07 | 
| <Modern C++ Design>과 Mike Acton (0) | 2015.03.11 | 
| [멜팅팟 세미나 with C++ Korea]변화된 모던 C++, 심층분석 메모 (0) | 2014.12.31 | 
					댓글
						
					
					
					
				
			
										공지사항
										
								
							
							
							
								최근에 올라온 글
								
							
							
								
									최근에 달린 댓글
									
							
							
								
									링크
									
							
							
								
									TAG
									
							
							
							- #로버트마틴
- #EffectiveModernCpp
- #스콧마이어스
- #cpp
- 책
- #프로그래밍심리학
- #코드최적화
- #임백준
- #uwp
- #techdays2015
- Effective C++
- #클린코드
- #scottmeyers
- #csharp
- #알고리즘
- #ndc
- #build2016
- #레거시코드
- 상속
- Scott Meyers
- Effective Modern C++
- #cplusplus
- #세미나
- #mva
- #ModernCPP
- #제럴드와인버그
- #팀개발
- 객체 지향 설계
- #자녀교육
- #마이클페더스
| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 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 | 
									글 보관함