나는 자유 시간에 취미로 NES 에뮬레이터를 개발 중입니다. 나는 주로 사용하는 언어이기 때문에 C ++을 사용한다.
그러나 이제 프로젝트에 약간의 발전을 가졌으므로 C ++의 거의 모든 특정 기능을 사용하지 않으며 일반 C에서 동일한 결과를 얻을 수 있습니다. 템플릿, 연산자 오버로드, 다형성, 상속을 사용하지 않습니다. 그래서 뭐라고 하시겠습니까? C ++로 유지하거나 C로 다시 작성해야합니까?
나는 성능을 높이기 위해 이것을하지 않을 것이고 부작용으로 올 수 있지만 아이디어는 C ++을 필요로하지 않는 이유는 무엇입니까?
내가 사용하는 C ++의 유일한 기능은 데이터와 메소드를 캡슐화하는 클래스이지만 struct 및 함수와 함께 수행 할 수 있으며 new 및 delete를 사용하고 있지만 malloc과 free를 사용할 수는 있습니다. 함수에 대한 포인터로 달성 할 수있는 콜백에 대해서만 상속을 사용합니다.
그것은 취미 프로젝트이므로 마감일이 없으므로 다시 쓰기가 필요한 오버 헤드 시간과 작업은 문제가되지 않으며 재미있을 수도 있습니다. 그렇다면 질문은 C 또는 C ++입니까?
I use C++ because is the language I use mostly, know mostly and like mostly.
이것이 귀하의 질문에 대한 답변입니다. 현재 언어로 해결할 수없는 문제가있는 경우 프로젝트 중간에 언어를 전환해야합니다. I don't use templates, operator overloading, polymorphism, inheritance.
C로 전환하는 것보다 개념을 배우고 사용하는 것이 훨씬 더 가치가 있습니다.이 프로젝트는 취미 프로젝트이므로 이전에 사용하지 않은 몇 가지를 사용하지 않는 이유는 무엇입니까? 항상 C로 다른 프로젝트를 시작하고 언어를 배울 수 있지만 현재 프로젝트에서는 전환하는 것이 합리적이지 않습니다.
std::shared_ptr
, std::unique_ptr
, boost::scoped_ptr
, std::vector
, std::deque
, std::map
,을, 콜백 함수의 등, 펑의 사용에보고하고, C ++ 11 람다 함수와 같은 것을 사용할 수도 있습니다.