템플릿 특수화와 const
아래 코드는 "C++기초 플러스5판(성안당)"에 있는 프로그래밍 연습문제를 풀다가 작성한 코드입니다. template T maxn( const T list[], int n); templatechar* maxn(const char * list[], int n); 위코드를 컴파일 하면 "템플릿 선언과 매칭되는 것이 없다"는 내용의 에러가 납니다.. 왜 그럴까요? 저는 구글링을 하면서 답을 구했는데요.. 잘 생각해 보세요^^ 아시는 분들은 댓글 남겨 주세요~~
2011.04.02
[const reference와 임시객체]
대뜸 질문입니다... 다음 코드에서 문제가 되는 부분을 설명 해 보세요^^ #include using namespace std; double refcube(const double &ra) { return ra * ra * ra; } void swapr(int &a, int &b) { int temp; temp = 1; a = b; b = temp; } int main() { double side = 3.0; long edge = 5L; double c1 = refcube(edge); double c2 = refcube(7.0); double c3 = refcube(side + 10.0); long a = 3L; long b = 5L; swapr(a, b); return 0; } C++ 기초 플러스 5판(..
2011.03.30
JNI 간단 소개
프로젝트에서 JNI를 써야 하는 일이 있어서 공부한 것을 정리 해 봅니다. ᅠJNI를 잘 다루는 것은 아니지만, 저처럼 처음 JNI을 접하는 사람이나, 간단한 정도로 사용을 원하는 분들이 보면 좋습니다. pdf 파일을 첨부하니 좋은 자료로 활용 하셨으면 좋겠네요~
2011.01.13
03_java.io.IOException: Unable to upload file: null
저는 이렇게 해결했습니다. 이클립스에서 Window -> Preferences -> Android -> DDMS -> "ADB connection time out (ms)"의 값을 늘려준다. apk 용량이 늘어나면 접속 시간을 늘려줘야 합니다.
2011.01.13
[Eclipse] Workspace 바꾸기
프로젝트 여러 개가 묶여있는 곳이 워크스페이스(Workspace)입니다. 이클립스를 처음 시작할 때 물어보는 경로가 워크스페이스의 기준 위치입니다. 재밌는 것은 이클립스의 설정값들이 여기에 저장됩니다. 그래서 이클립스의 버전을 바꿔도 같은 워크스페이스를 부르면 설정값들을 그대로 보존하고 있죠. 이클립스 업그레이드 하기가 쉬운 편입니다. 워크스페이스를 새로 지정하면 모든 설정값들을 다시 세팅해주어야 됩니다. 설정값의 내보내기 가져오기 기능은 나중에 알아보겠습니다. 팀에서 필요한 기능이니까요. 오늘 은 워크스페이스를 바꾸는 것을 말씀드리려합니다. Switch Workspace 간단합니다. 메뉴에서 File > Switch Workspace 를 클릭하면 이제까지 작업했던 워크스페이스들이 나타납니다. 저는 4개..
2011.01.12
[Eclipse] 이클립스가 실행되지 않을 경우
Failed to create java virtual machine! 다음과 같은 창이 뜨면서 이클립스가 실행 되지 않으면 이렇게 해봅니다. 이클립스 설치 폴더안에 보면 eclipse.ini란 파일이 있습니다. 편집기로 열어서 -vm C:\Program Files\Java\jdk1.6.0_20\bin\javaw.exe 을 아래와 같이추가해줍니다. -startup plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503 -product org.eclipse.epp.package.jee.product --la..
2011.01.12
[강석민 강사님 객체지향 디자인 패턴 + Generic 디자인 기법 교육1탄] 디자인을 이해 하려면 알아야 하는 문법1 - Up casting
거의 2년만에 강석민 강사님의 강의를 다시 듣게 되었습니다. 역시 설명을 참 잘하신다는 느낌을 받았습니다~ 그럼... 갈길이 멀기 때문에 바로 정리작업을 들어가겠습니다.(이미 내머리속에 지우개가 발동하고 있습니다..ㅠ) 첫번째 시간에는 객체지향 디자인을 하기 전에 기본적인 c++의 문법을 배웠습니다. Up casting : "부모 포인터(참조)로 자식객체의 주소를 담을 수 있다" 라는 개념입니다. 장점1. 동종(동일부모의 자식)을 저장하는 collection을 만들 수 있다. 장점2. 동종을 처리하는 함수를 만들 수 있다. 즉, 자식 클래스가 무엇인지 몰라도 동일한 일을 하기 위해서 부모클래스를 가지고 일을 할 수 있다는 말입니다. 나중에 다형성개념이 있을 수 있는 것이 Upcasting이 가능하기 때문..
2010.06.01
알고리즘을 표현하는데는 정말 함수형 언어가 좋은 것 같습니다.
알고리즘을 조금씩 공부해 보자는 취지를 같고 공부해 보려 하지 무엇 부터 해야 할지 막막하네요.. 그러던중, 갑자기 알고리즘 책에 있는 문제들을 함수형 언어(Functional language)로 바꾸어 보면 어떨까 하는 생각이 들었습니다. 처음에는 정렬 알고리즘(sorting algorithm)중 빠른 정렬(Quick sort)을 구현하는데 함수형 언어가 너무나 아름다운 코드를 만들어 내어서 다른 정렬 알고리즘을 함수형 언어로 구현해 보는 건 어떨까 생각했는데 일이 커졌나 모르겠습니다. 뭐 아무튼, 일단 정렬에 대해서는 그렇게 할 것입니다...ㅋ 본론으로 들어가서 역시나 함수형언어는 알고리즘을 표현한는데 정말 좋은 것 같습니다. 다른 분들도 마찬가지 겠지만, 대부분의 한국 컴퓨터 공학과 학생들, 전산 ..
2010.02.27
no image
[haskell] functional programming language를 배워 보고 있습니다.
때마침 좋은 한국어로 번역된이 나와서 공부해보고 있습니다. imperative language(이하 명령형 언어)만 공부하다가 functional language(이하 함수형 언어)를 공부하니까 알고리즘 구현하는데에 굉장히 좋은 언어라는 생각이 들었습니다. 이 생각이 맞는지 모르겠지만 표현 법이 고등학교에어 배운 수학적인 표현을 사용하고 생각한 알고리즘을 그대로 표현 하기만 하면 되는 것입니다. 즉, 명령형언어에서는 변수 선언 하고 동적할당 등등 시스템에 대한 이해를 요하고 그것을 코드에 적어 주어야 하지만 함수형 언어는 말하고자 하는(구현하고자 하는) 것만 표현 하면 되므로 굉장히 마음에 들었습니다. 물론 이 언어가 시스템 프로그래밍 하는데에는 부적격인 것 같아서 나름 장단점이 있는 것 같지만 필요에 ..
2010.02.04