["MoreEffectiveC++"] ---- 작성자 : 류상민(["neocoin"], ZP 99) [[BR]] 목적 : 2002.03.14 ZeroPage 세미나용 항해지도 ---- = C, C++ 다른점 = == Only Class == === Inheritance - Overriding - virtual === * virtual [http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fEfficiency#head-fe2478216366d160a621a81fa4e3999374008afa Item 24 Virtual 관련], [http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fMiscellany#head-ce86e4dc6d00b898731fbc35453c2e984aee36b8 Item 32 미래 대비 프로그램에서 String문제] * Multiinheritance 에서 제기되는 문제 [http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fEfficiency#head-4e0fa0edba4b5f9951ea824805784fcc64d3b058 Item 24 다중 상속 관련] === RTTI (Real Time Type Information) === [http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fEfficiency#head-df8e5cb1fbb906f15052798c446df0ed08dfeb91 Item 24 RTTI 관련] ==== Double-Dispatch (Multi-Dispatch) ==== [http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fTechniques3of3 Item 31] [http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fTechniques3of3#head-85091850a895b3c073a864be41ed402384d1868c RTTI를 이용해 구현 부분] === Capsulization - private, public, protected === === Polymorphism - Overloading === [http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fMiscellany#head-a8fe938a36d3be47de007ce24f1d367295cd7ea7 Item 34 name mangle 관련] = C++에서 생각되는 문제 = * 표준 개발 환경의 부재 ( vs Java 언어, C# ) * 직렬화 * 이유 : class에 대하여 vtbl과 vtp의 구현 방법 표준이 비존재, 당연히 직렬화에 관한 표준 역시 비존재, 벤더들에게 구현을 맡겼음. 그래서 특히나 각 DB업체에서 OODB의 제작시 자사들만의 표준을 가져야 한다는 벽에 부딪침. * 다른 언어 : Java는 공통의 플랫폼 차원([http://java.sun.com/j2se/1.3/docs/guide/serialization/ Serialization]), C#은 .NET Specification에서 명시된 attribute 이용, 직렬화 인자 구분, 역시 플랫폼에서 지원 * C와 호환성? * 관련 페이지 [http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fMiscellany#head-9b5275859c0186f604a64a08f1bdef0b7e9e8e15 Item 34] * 생각해볼 name mangling - overloading [http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fMiscellany#head-a8fe938a36d3be47de007ce24f1d367295cd7ea7 Item 34 name mangle 관련] * 불완전 객체지향 * 업체 지원 문제 = C++ 의 미래? = * C++의 설계자인 Bjarne Stroustrup 인터뷰 (중간에 C++의 2차 변화시 언급) [http://www.itworld.com/AppDev/710/lw-02-stroustrup/] = 재미있는 문서 = * Objective C++ [http://developer.apple.com/techpubs/macosx/ReleaseNotes/Objective-C++.html] * Generic Java [http://java.sun.com/javaone/javaone2001/pdfs/2733.pdf] [http://gcc.gnu.org/java/gcj2.html] [http://www.research.avayalabs.com/user/wadler/pizza/gj/] [http://www.javaworld.com/javaworld/jw-02-2000/jw-02-jsr.html] [http://jcp.org/jsr/detail/014.jsp] = 후기 = 처음에는 문서 작성을 시작했고, 레이아웃을 잡아가는 과정에서 항해지도를 작성하고, 대본(?)을 만들어 보는건 어떨까 생각을 해보았다. 언제나 새로운 시도는 기대되는 것 = Thread = ---- ["MoreEffectiveC++"]