std::bind 사용법

프로그래밍 2014. 10. 23. 19:59


std::bind(함수 주소, 함수인자1, 함수인자2, 함수인자3, ...)

함수인자에 초기값을 설정한수 있고

bind로 생성한 함수의 인자로 받을 것이면

std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, ... 등을 새로운 함수 인자와 맵핑 시킬수있다.


void Func( int iA, float fB, bool bC );

라는 3개의 인자를 가지는 함수가있다면


auto funcA = std::bind( Func, 10, 2.0f, true );

funcA()

다음과 같이 단일 함수로 사용가능하고


그중 float 인자값을 새로운 함수의 인자로 받으려면

auto funcB = std::bind( Func, 10, std::placeholders::_1, true );

funcB( 2.0f );


처음인자는 float 두번쩨 인자는 int를 받고 싶으면

auto funcC = std::bind( Func, std::placeholders::_2, std::placeholders::_1, true );

funcC( 2.0f, 10 );


3번쩨 인자에 bool 값을 받고 싶으면

auto funcD = std::bind( Func, std::placeholders::_2, std::placeholders::_1, std::placeholders::_3 );

funcD( 2.0f, 10, true );


그리고 전역함수가 아닌 클래스 함수의 경우

&ClassA::FuncA 행태를 바인드의 첫번쩨 인자로 사용한다





비주얼 스튜디오가

 try, catch 를

내부적으로

__try, __except

 로 처리하는 방법

http://members.gamedev.net/sicrane/articles/exception.html


'프로그래밍' 카테고리의 다른 글

std::bind 사용법  (0) 2014.10.23
___report_rangecheckfailure() 링크에러  (0) 2014.09.17
wm_quit vs wm_close vs wm_destroy 차이  (0) 2014.02.07
HINSTANCE 구하기 GetModuleHandle(NULL)  (0) 2014.02.06
VS2012 컬러 스킨 변경  (0) 2013.09.17


> set asd="df"

> echo %asd%

> set asd=%asd:"=%

> echo %asd%

'컴퓨터' 카테고리의 다른 글

ubuntu 버전 확인하기  (0) 2015.07.02
원격 멀티세션  (0) 2014.11.25
배치파일 경로값  (0) 2014.07.08
Mysql 의 전체 데이타베이스 백업  (0) 2014.06.29
크롬 빌드  (0) 2014.06.11

배치파일 경로값

컴퓨터 2014. 7. 8. 15:08


출처 : http://snoopybox.co.kr/1404

예를 들어 제 컴퓨터 바탕화면에 예제.cmd 파일이 있는 경우

%0

“C:\Users\snoopy\Desktop\예제.cmd”

%~0

C:\Users\snoopy\Desktop\예제.cmd

%~d0

C:

%~p0

\Users\snoopy\Desktop\

%~n0

예제

%~x0

.cmd

%~dp0

C:\Users\snoopy\Desktop\


따라서 pushd %~dp0 라고 적으면 명령 프롬프트가 배치파일이 존재하는 위치로 돌아오게 됩니다. 이제 응용력이 뛰어나신 분들은 이런 생각을 하실 것 같습니다. "그렇다면 %~dpnx0 와 %~0 는 같은 값을 나타내겠군!" 네 그렇습니다. %~ 확장은 이처럼 한꺼번에 섞어서 사용해도 됩니다.

※ 참고로 PUSHD %~DP0 대신에 CD /D %~DP0 해도 상관은 없습니다.


'컴퓨터' 카테고리의 다른 글

원격 멀티세션  (0) 2014.11.25
배치파일 따옴표 제거  (0) 2014.07.09
Mysql 의 전체 데이타베이스 백업  (0) 2014.06.29
크롬 빌드  (0) 2014.06.11
흔들어 전체창 최소화 기능끄기  (0) 2014.06.08



Mysql 의 전체 데이타베이스 백업


백업

# mysqldump -u root -p --all-databases > 파일명.sql


복구

# mysql -u root -p < 파일명.sql

'컴퓨터' 카테고리의 다른 글

배치파일 따옴표 제거  (0) 2014.07.09
배치파일 경로값  (0) 2014.07.08
크롬 빌드  (0) 2014.06.11
흔들어 전체창 최소화 기능끄기  (0) 2014.06.08
자동 로그인 설정  (0) 2014.06.01

크롬 빌드

컴퓨터 2014. 6. 11. 01:06


1. depot_tools 다운

2. depot_tools 경로 환경 path 에 등록

3. 소스 받을 위치에서

4. gclient : 실행 ols.bat 가 없다고 에러난다

5. 한번더 한다.

6. download_from_google_storage --config : 환경 설정 하는듯

7. 주소가 나오고 접속해서 코드를 받으라고 한다.

8. 해당 주소로 웹으로 접속한뒤 앱 요청 권한을 등록하고 키를 받아 입력한다.

9. 소스다운 : fetch chromium --nosvn=True : (svn을 사용하지않고 git를 사용한다.)

10. 진짜 오래걸림.ㅜ (어디선가 압축본을 받아도 될것 같지만..)

11. gclient sync : 동기화를 맞춘다?

12. set GYP_GENERATORS=msvs : 빌드환경을 VS 로설정한다

13. gclient runhooks : vs용 솔루션파일을 만든다? (--force 옵션도있다.)

14. src\chrome\chrome.sln 을 vs2013 으로 연다.

'컴퓨터' 카테고리의 다른 글

배치파일 경로값  (0) 2014.07.08
Mysql 의 전체 데이타베이스 백업  (0) 2014.06.29
흔들어 전체창 최소화 기능끄기  (0) 2014.06.08
자동 로그인 설정  (0) 2014.06.01
ls 옵션  (0) 2014.05.12


1. gpedit.msc

2. [사용자 구성] - [관리 템플릿] - [바탕화면]

3. 'Aero 흔들기 창 최소화 마우스 제스처 사용 안 함' 을 사용으로 설정

'컴퓨터' 카테고리의 다른 글

Mysql 의 전체 데이타베이스 백업  (0) 2014.06.29
크롬 빌드  (0) 2014.06.11
자동 로그인 설정  (0) 2014.06.01
ls 옵션  (0) 2014.05.12
git 파일 패치 방법  (0) 2014.04.25


netplwiz

ㅁ 사용자 이름과 암호를 입력해야 이 컴퓨터를 사용할 수 있음 (선택 해제)

적용

암호 입력

'컴퓨터' 카테고리의 다른 글

크롬 빌드  (0) 2014.06.11
흔들어 전체창 최소화 기능끄기  (0) 2014.06.08
ls 옵션  (0) 2014.05.12
git 파일 패치 방법  (0) 2014.04.25
github fork sync  (0) 2014.04.25


[Python] XML <=> Dict <=> JSON

http://mcchae.egloos.com/viewer/10996383