C with STL 로만 Cpp 를 쓰다가 조금 욕심이 생겨서 좀더 깊게 Cpp 를 공부해 보고 있는데
어떤 클래스를 선언하고클래스를 이동으로 받는 함수를 만들었다고 해봐(예를 들면 void print_value(MyClass&& Mc))
스마트 포인터로 클래스를 initialize 하고 move 로 우측값으로 넘겨주면 이게 그 포인터 주체 자체가 함수 context 로 넘어가잖음?
근데 만약 내가 실수로 똑같은 함수에 똑같은 인자를 한번 더 넣어버렸다고 해봐그럼 컴파일은 되는데, 실행을 해보면 132 SegFault 가 뜨잖아.
근데 이거를 컴파일 타임이나, 디버깅에 관측가능하게 할 수 있는 방법이 없을까?러스트는 이걸 tracking 해주는 것처럼 말이야
내가 생각하기로는option 쓰는거랑, assert 써서 디버깅때 확인, template 질 정도가 떠오르는데 업계에서 이 부분에 관해 이런 방법으로 해결하자는 공통의 견해 같은게 있을까?

딴 언어 하다가 C++로 넘어온거라 용어의 문제나, 오개념이 있을수도 있음,,혹시 내가 전반적으로 완전 잘못 알고 있다 라고 하면 조금 알려주면 감사