stl algorithm 질문
글쓴이: auditory / 작성시간: 금, 2008/09/26 - 4:06오후
short s[size]; double d[size]; for (int i=0; i < size; i++) s[i] = static_cast< short >(d[i]);
를 stl의 알고리즘 (copy, transform??) 를 써서 한다면
어떻게 깔끔하게 할 수 있을까요?
double->short로의 data loss는 별개로 하고요..
transform에다가 unary function을 정의해서 하면 될것 같은데,
더 간단한 방법이 있을까요?
@ code 블럭 안에 있어도 < > 안에 있는 단어는 이상하게 처리되는군요..
Forums:
위의 코드로 충분히
위의 코드로 충분히 간단해 보입니다만...
굳이 원하신다면..
결과는
0 0 0 0 1 2 3 4 5 6
Neogeo - Future is Now.
Neogeo - Future is Now.
질문은
질문은 원래,
가 가능한가하는것이었습니다.
d와 s의 타입이 다른 경우에요..
안될것 같아서 미리 질문드린거였는데, 해보니깐 잘 되네요...
gcc 의경우에 -Wall 해도 컴파일 워닝도 없네요.. 좀 의외.
vc++ 의경우에는 template 어쩌고 경고가 무지하게 나네요.
답변 감사합니다.
기본 type에 대한
기본 type에 대한 경우는 묵시적으로 static cast 가 이미 다 준비가 되어있다고 보시는게 맞을 것 같습니다. ( C++ 의 C 언어 type 을 위한 지원 때문이겠지요. )
뭐 어차피 casting operator 자체도 overloading 되니까 어떤 사용자의 class type 이라도 간단하게 operator 만 ( 혹은 constructor 만 ) 작성해주면 아무 문제없이 잘 되겠지요.
Neogeo - Future is Now.
Neogeo - Future is Now.
댓글 달기