container 3

[C++]컨테이너(Container)와 이터레이터(Iterator) 기초 2

안녕하세요 지난 글에는 C++의 컨테이너와 이터레이터가 무엇인지, 어떻게 사용하는지에 대해 알아보았습니다. 이번에는 조금 컨테이너와 이터레이터가 내부적으로 어떻게 동작하는 알아보겠습니다. 1. 컨테이너에 [] 연산자 사용 std::vector를 사용할 때, 우리는 배열처럼 v[i] 형태로 특정 위치의 요소에 매우 편리하게 접근할 수 있습니다. 이유는 연산자 오버로딩(Operator Overloading) 때문입니다. []는 C++ 클래스에서 특별한 함수(멤버 함수)로 직접 구현할 수 있는 연산자 중 하나입니다. 원리를 확인하기 위해, std::vector를 아주 간단하게 흉내 낸 ThingVector라는 클래스를 만들어 보겠습니다. templateclass ThingVector {priv..

Programming/C, C++ 2025.05.23

[C++] 컨테이너(Container)와 이터레이터(Iterator) 기초 1

안녕하세요 이번에는 C++의 개념 중에 컨테이너(Container)와 이터레이터(Iterator)의 기본 정의와 사용법에 대해 알아보겠습니다. 1. 컨테이너(Container)란? 이전 내용에서 몇 번 언급했지만, 정의에 해대서 다시 알아보겠습니다. C++에서 컨테이너는 동일한 타입의 여러 객체(데이터)들을 담는 자료구조라고 생각하면 쉬울 것입니다. 마치 물건을 담는 상자처럼, 컨테이너는 숫자, 문자열, 또는 사용자가 만든 객체들을 보관하고 관리하는 역할을 합니다. C++ 표준 템플릿 라이브러리(Standard Template Library, STL)는 다양한 종류의 컨테이너를 제공합니다. 대표적으로는 다음과 같은 것들이 있습니다. std::vector : 동적으로 크기가 변하는 배열 st..

Programming/C, C++ 2025.05.22

[Jetson Nano] docker에 MQTT(mosqitto) 설치해서 외부에서 작동확인 해보기

안녕하세요. Jetson Nano 테스트 요청받은 것이 있어서 간단하게 docker로 MQTT를 설치해서 broker 서버로 가능한지 테스트해 보는 것으로 하였습니다. 간단하게 가능하구나 확인 삼아 보시면 도움이 될 것으로 생각됩니다. 사전작업으로 Jetson Nano에 Ub 1. 프로그램 설치 - 기본적으로 Jetson Nano에 Ubuntu 18.04 버전이 설치되어 있고, apt update와 apt upgrade를 했다는 전제하에 추가 진행사항이라고 보시면 됩니다. - 위의 내용 진행되었다면 docker 기본버전이 같이 설치되어 있습니다. 이제 간단하게 컨테이너 하나를 생성합니다. - 컨테이너 하나를 생성할 때 옵션에 ubuntu20.04 버전을 기본 OS로 하고 외부와 통신할 수 있도록 포트를 ..

Embedded 2023.10.09