본문 바로가기

분류23

Ubuntu 20.04(우분투 20.04) ROS2(foxy)설치 LOCALE 설정 sudo apt update && sudo apt install locales sudo locale-gen en_US en_US.UTF-8 sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 export LANG=en_US.UTF-8 ROS2 Repository 추가 sudo apt update && sudo apt install curl gnupg2 lsb-release curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] ht.. 2024. 2. 19.
[C++/핵심과 사용법만] 멤버 이니셜라이저(initializer) 클래스 이니셜라이저의 의의 : 멤버(Member)는 클래스 내의 멤버 변수 혹은 멤버 변수를 뜻한다. 이니셜 라이저(Initializer)는 뜻 그래도 초기화. 멤버 이니셜라이저를 사용함으로써 초기화의 대상을 명확하게 인식할 수 있고, 선언과 동시에 초기화가 이루어지는 바이너리 코드가 생성되므로 코드의 성능 측면에서도 이점이 있다. 뭔말이냐? 예제로 바로 본다. [example] #include using namespace std; class Robot { private: int num; public: Robot(){ cout 2024. 2. 14.
[C++/핵심과 사용법만] 클래스 상속(inheritance) 클래스 상속의 의의 : 1.작성한 클래스를 재사용함으로써 많은 코드를 줄일 수 있다. 2. 클래스 간의 계층적 관계를 구성하기 용이하다.(객체 지향프로그래밍에서 다형성, OOP의 토대가 됨) [example] 5년 전, 오리로스는 로봇의 모델명, 생산년월 이 두가지로 Robot 클래스를 작성했다. 그런데 다음과 아래와 같은 기능 추가로 클래스를 새로 작성할 필요가 생겼다. -수출용 로봇 : 수명 표시 기능, 수출 국가 출력 기능 -내수용 로봇 : 품질보증기간, 생산공장 출력 기능 이런 경우에 기존에 작성되어 있던 부모 클래스인 Robot을 상속받고 수출용, 내수용 각각 필요한 정보만 추가해준다면 공통 사항인 Robot을 새로 작성할 필요 없이 내수용, 수출용 클래스를 작성할 수 있게 된다. 부모 클래스(.. 2024. 2. 11.