C++을 사용하다가 뭔가 불편하다 싶은것들은 대충 다 있다.


Delegate도 있고 Garbage Collector도 있고 근데 pointer도 있다. ㅎㅎ. Template도 있고.. 큭히나 C++0x에서 추가하기로 했다가 결국 못한 concept개념이 constraint라고 해서 들어가있다. 무려 다음과 같은게 가능

1.  bool isprime(int n)   

2.  {   

3.      if (n < 1 || (n & 1) == 0)   

4.      return false;   

5.      if (n > 3)   

6.      {   

7.      for (auto i = 3; i * i < n; i += 2)   

8.      {   

9.          if ((n % i) == 0)   

10.         return false;   

11.     }   

12.     }   

13.     return true;   

14. }   

15.   

16. template Foo(int N)   

17.     if (isprime(N))   

18. {   

19.     ...   

20. }   

21.   

22. Foo!(5)    // ok, 5 is prime   

23. Foo!(6)    // no match for Foo  

무려 컴파일타임에 되는것임 ㄷㄷㄷ

그러니까 그냥 할수 있는건 C++하고 마찬가지인데, 편하긴 더 편하다.

그러니까 pImpl같은 귀찮은 구현도 별로 필요 없고 Exception처리할때 객제자체가 왔다갔다 하는것도 안해도 되고 하여간 좋은듯

제일좋은건 C함수 그대로 쓸 수 있다. WINAPI같은거 그냥 쓸수 있음 ㅋㅋ

C++버리고 갈아탈만도 할듯..