일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 동아리
- 가상화
- SSM
- 패턴인식
- 물걸레로봇청소기추천
- 삼성전자 소프트웨어멤버십 SSM
- 빅데이터
- Python
- 멤버십
- 나르왈프레오
- Friendship
- 구글 앱 엔진
- 삼성소프트웨어멤버십
- Neural Network
- Bidirectional Associative Memory
- 파이썬
- 물걸레자동세척로봇청소기
- NarwalFreo
- 삼성
- Google App Engine
- hopfield network
- 하이퍼바이저
- 신경회로망
- 갤럭시탭S8울트라
- 패턴 인식
- BAM
- 인공지능
- 증강현실
- 신경망
- 고려대학교
- Today
- Total
정보공간_1
[4기 수원 전낙현] VS 2013 #1 본문
이번 포스팅 부터는 c++11에서 추가된 기능중 visual studio 2012에서는 지원하지 않았지만 visual studio 2013부터 지원하는 6가지의 기능을 3편으로 나누어 연재하겠습니다.
1. Raw String Literals
2. Non-static datamember initializers
3. Default template arguments for function templates
4. Defaulted and deleted functions
5. Delegating constructors
6. Alias templates
순서로 연재하며 한 포스팅에 2가지 기능씩 쓰겠습니다.
Raw String Literals
c++에서 문자열을 사용할때 역슬래쉬나 따옴표등 특수문자를 쓰기위해 escape 문자로 역슬래쉬를 사용합니다.
이는 아래와 같이 매우 가독성이 떨어지고 복잡한 코드를 생성하게 됩니다.
<그림1>
이에 따라서 python이나 c#에서는 이미 지원하고 있는 기능인 raw string literals가 c++11에 추가되어 있었는데 visual studio 2012에서는 지원하지 않았습니다.
이제 visual studio 2013에서는 아래와 같이 사용할 수 있습니다.
<그림2>
std::string str4 = R"*(
())""
)*";
Non-static datamember initializers
c++에서는 Non-static 변수에 대한 초기화를 선언과 동시에 하지 못했습니다. 초기화 리스트등 다른 방법을 쓸 수 있지만 직관성이 떨어지고 유지보수하는데에 조금은 불편한점이 있었습니다.
이전의 c++에서는 아래와 같은 방법으로 non-static 변수에 대해 초기화를 해주어야 했습니다.
하지만 visual studio 2013에서는 아래와 같이 선언과 동시에 초기화를 할 수 있습니다.
아래와 같이 사용하면 더욱 직관적이고 효율성 있게 클래스를 디자인 할 수 있습니다.
다음 포스팅에서는 Default template arguments for function templates, Defaulted and deleted functions에 대해서 포스팅 하겠습니다.
참고문헌
1) MSDN, Microsoft, http://msdn.microsoft.com
2) 비주얼 C++ 12의 향상된 표준화 라이브러리, 제이슨 김, 마이크로소프트웨어 2013년 11월 호
'IT 놀이터 > Elite Member Tech & Talk' 카테고리의 다른 글
[4기 수원 전낙현] VS 2013 #3 (0) | 2013.12.02 |
---|---|
[4기 수원 전낙현] VS 2013 #2 (0) | 2013.12.02 |
[4기 수원 전낙현] 안드로이드 기반 디바이스의 디지털 포렌식 #2 (0) | 2013.12.02 |
[4기 수원 전낙현] 안드로이드 기반 디바이스의 디지털 포렌식 #1 (0) | 2013.12.02 |
[4기 강북 송용길] Unit test with JUnit(3) (0) | 2013.12.02 |