미래지향적인 C++ 프로그래밍

2023. 1. 29. 09:01Programming/JAVA, C++, Go, Rust

    목차
반응형

변화를 받아들이고 변화에 대비하는 것입니다. 즉, 내가 작성한 프로그램이 늘 항상 변화될 수 있다는 가능성을 열어두고, 이대로 고정일거라는 한계를 짓지 말아야 함을 의미합니다. 

 

클래스가 파생될 것이라는 '확신' 이 있다면 당장 그 함수를 재정의하지 않더라도 가상 함수로 만들어도 됩니다. 그러나 확신이 서지 않는다면 비가상 함수로 선언하고, 이후에는 가상 함수로 만들라는 잘못된 의견이 있어도 흔들리면 안됩니다. (고집을 피우라는 것은 아닙니다)

 

대입과 복사 생성은 모든 클래스에 대해 처리해 둬야 합니다. 지금 사용하지 않는다는 것이 나주엥도 사용하지 않는다는 것을 의미하지는 않습니다. 당장 처리를 하기 까다로운 상황이라면 이들을 private로 선언하여 향후 발생할 수 있는 오동작을 방지해야 합니다. 

 

또한 늘 항상 어떤 사용 방식에 있어서도 (즉, 예측하지 못했던 사용 방식에 있어서도) 늘 항상 예상하지 못한 결과를 만들지 않도록 클래스를 설계 해야합니다. 

 

이식성도 고려해야 합니다. 지금 현재는 특수한 하드웨어만을 사용한다고 확신할 수 있지만, 몇 년이 흐른 뒤에 다른 하드웨어에서 사용되지 말라는 법은 없습니다. 

반응형

'Programming > JAVA, C++, Go, Rust' 카테고리의 다른 글

C++ emplace_back  (0) 2023.02.03
C++ 대입연산자의 virtual 사용  (0) 2023.01.29
C++ 헤더 내 구현 장/단점  (0) 2023.01.27
C++ string split  (0) 2023.01.27
Dynamic Loading DSO (Dynamic Shared Object)  (0) 2023.01.26