Troubleshooting2010. 10. 27. 16:21
누가 PCH에 using namespace std;를 해논 것이다;;;
개인적인 의견으로는 헤더에 using namespace를 사용하는 것 보다는
cpp 파일에 using 지시자를 사용하는 것이 맞다고 본다.
헤더에 using namespace를 사용하면 이름이 꼬일 수가 있기 때문이다.

코드로 보자면...
처럼 헤더 파일에서 사용하는 것이 아니라
로.. 그 cpp에서 딱 사용할 클래스 또는 함수만 using으로 사용하는 것이다.


정규식을 사용해서 std 넴스풰이스를 붙여보자.
Find what    : {[ \t]}{(list|vector|map)}\<{[^\>]+}\>
Replace with : \1std::\2<\3>


string의 경우 일반적인 STL 함수/클래스들과는 따로 하는 것이 좀 더 편하다.
Find what    : {[ \t]}string{[ \t]}
Replace with : \1std::string\2

결론: 제공되는 클래스 이름과 동일한 변수명은 쓰지 말자... =ㅁ=;;

'Troubleshooting' 카테고리의 다른 글

Break when an exception is  (0) 2010.12.03
마일스 사운드 버그  (3) 2010.11.17
intrin.h errors  (0) 2010.10.28
#include <windows.h>  (0) 2010.10.26
numeric_limits problem with windows.h  (0) 2010.07.27
Posted by codevania
Troubleshooting2010. 10. 26. 22:23

BOOL WINAPI IsDebuggerPresent();  를 사용하기 위해 windows헤더를 인클루드 했건만,
계속해서 C3861(identifier not found)에러가 나는 것이었다.

디파인도 잘 해줬고,

사용도 잘 해줬는데


도대체 머가 문제지??

... 서버팀 동료한테 헬프 요청해서 같이 보는데...앗!!
winsock2가 _WIN32_WINNT 선언보다 위에 선언되었던 것이었다.


적절히 고치면...


결론. 인클루드 전에 요구되는 디파인은 인클루드 전에 모두 해놓자.


[ 관련된 재미난 링크들 ]
IsDebuggerPresent MSDN
성태의 닷넷 이야기 - IsDebuggerPresent
Noenemy's Code Foolosophy - TIB와 IsDebuggerPresent

'Troubleshooting' 카테고리의 다른 글

Break when an exception is  (0) 2010.12.03
마일스 사운드 버그  (3) 2010.11.17
intrin.h errors  (0) 2010.10.28
using namespace std;  (0) 2010.10.27
numeric_limits problem with windows.h  (0) 2010.07.27
Posted by codevania
Code Snippets/Clojure2010. 10. 14. 18:14
http://projecteuler.net/index.php?section=problems&id=8
http://www.ibm.com/developerworks/kr/library/os-eclipse-clojure/


Find the greatest product of five consecutive digits in the 1000-digit number.
>> 1000자리 숫자에서 5개의 연속된 곱중 최대값을 찾아라

Beforehand
필요한 기능들을 알아보자.
1. 1000자리 숫자를 표현하기 힘들다.
- 어차피 필요한 것은 연속된 5개의 숫자의 곱이다.
  1000자리 숫자는 문자열로 생각하고, 인덱스 윈도우를 바꿔가며 계산하자.
  즉, [0~4], [1~5], [2~6] ... [996~1000] 으로 가리키는 인덱스의 범위를 바꿔가겠단 말.
2. 필요한 함수는?
- 최대값 : max
- 제어문자가 아닌 숫자만을 선별 : filter, Character/isDigit
- 5개씩 구해진 숫자 시퀀스의 곱 : reduce
- 인덱스 윈도우를 하나씩 옮겨가며 5개씩의 시퀀스를 반환 : for


Make Simple
필요한 문법은 거의 다 알았다.
이제 문제를 간단히 생각해보자. 숫자 시퀀스가 1000개가 아니라 10개라고 생각해보자.

0123456789

여기서 얻을 수 있는 5개의 숫자 시퀀스는 다음과 같다.
01234  12345  23456  34567  45678  56789  67890

시퀀스의 곱의 최대값은?
  5 * 6 * 7 * 8 * 9 = 15120

시퀀스에서 5개씩 어떻게 뽑아올까?

이제 이 두 방법을 조합해서 문제를 풀어보자.


Resolve
문제에 제시된 1000개의 숫자를 문자열로 처리한다.
최대값을 구할 것인데, 5개의 연속된 숫자열의 곱에서 구한다.

'Code Snippets > Clojure' 카테고리의 다른 글

[Project Euler] Problem 2  (0) 2010.10.11
clojure용 Syntax HighLighting을 위한 js, css  (0) 2010.10.08
Clojure Sample - Sequence  (0) 2010.10.08
Clojure Sample - Function  (0) 2010.10.08
Clojure Sample - Basic  (0) 2010.10.07
Posted by codevania