일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 반복문
- MSG
- mysql
- 데이터 베이스
- ubuntu
- 기초
- Linux
- LeetCode
- while
- 마리아 DB
- 토픽
- mariaDB
- 그랑사가
- C언어
- 환경설정
- C++
- Subscribe
- install opencv-4.4.0 on ubuntu 22.04
- 오늘도 우라라 공략
- JungOl
- 등차수열
- 오늘도 우라라
- ros
- topic
- 리눅스
- publish
- 프로그래밍
- 오늘도 우라라 펫 공략
- 우분투
- 오늘도 우라라 펫
- Today
- Total
목록프로그래밍 (125)
하루의 쉼터
데이터 타입 두 개의 일치 여부를 true / false로 반환하는 기능. 같으면 true 다르면 false 구조 template inline constexpr bool is_same_v = is_same::value; 헤더 파일 #include 적용 예시) auto , decltype 이용 시 판단이 필요한 경우. Test Code #include #include int main() { std::cout
모든 유형의 객체의 최대 크기를 저장 할 수 있는 타입. sizeof의 반환 형태. 크기를 표현 할 수 없는 것은 저장 할 수 없음. 부호 없는 정수형 unsigned int와 공통점은 부호 없는 정수형이며 다른점은 아래와 같다. std::size_t 크기를 나타내는 타입(구현 형태에 따라 달라짐) 메모리 범위의 크기를 바이트 단위로 표현할 수 있는 부호 없는 정수 시스템에 최대 크기의 메모리 블록 unsigned int 4바이트 크기(32 비트 아키텍처 기준) 효율적 수행 헤더 파일 * std::size_t를 사용하기 위해서는 밑에 헤더 중 하나를 사용하면 됨. #include #include #include #include #include #include #include // C++17 support..
| Velodyne Lidar(VLP-16) 윈도우 ip 및 뷰어 셋팅 Velodyne Lidar를 사용하기 위해서는 몇가지 설정을 해줘야 하는데 ip 및 뷰어 셋팅하는법에 대해서 쓰고자 한다. 뷰어를 통해 보려면 ip 셋팅이 우선적으로 되어야 하는데 우선 뷰어는 아래의 링크를 통해서 설치파일을 받을 수 있다. https://www.paraview.org/veloview/ VeloView: The Velodyne Lidar Viewer based on Paraview Lidar VeloView performs real-time visualization and processing of live captured 3D LiDAR data from Velodyne’s HDL sensors (HDL-64E, HD..
| 인라인 함수는 함수 호출을 하러 메모리 참조를 하는 것이 아닌 함수 본문이 직접 코드레벨에서 실행되어 호출하지 않고도 코드 블록이 실행되는 형태. 인라인 함수를 얘기할때 나오는 것 중에 하나는 매크로 함수이다. #include #define SQU(X) ((X)*(X)) int main(){ std::cout
목표 : 비어있는 branch를 생성하고 특정 브랜치에 merge 하기 * 상황에 따라 비어있는 브런치가 필요한 경우가 있다. 이 글에서는 비어있는 신규 브런치를 만들고 기존 브랜치에 merge하는 것이 목표이다. 1. 신규 브런치 만들기 git checkout --orphan "새로 만들 branch 명" 2. 기존 데이터 삭제 git rm -rf . 3. 신규 브런치 푸쉬를 위한 커밋생성 git commit --allow-empty -m "empty" 4. 신규 브런치 푸쉬 git push origin "신규 브런치명" 완료가 되면 아래와 같은 모습을 볼 수 있다. 이때 기존 브런치에 merge를 해보면 아래와 같은 에러 메시지를 발생하는데, 이는 기존 브런치와 신규 브런치에 특정 지점이 없기 때문에..
함수의 주소는 함수에 해당하는 기계의 코드가 저장되어 있는 메모리 블록의 시작 주소. 주요 사용처 콜백함수 : 이벤트 핸들러, 인터럽트 핸들러, GUI 이벤트 처리를 위해 함수를 호출하기 위해서는 함수의 주소 값을 알아야하는데 이때 함수포인터를 사용하여 콜백 함수를 구성하게 된다. 이때 콜백함수의 매개변수, 반환 타입을 정의하여 사용한다. 함수포인터 배열 : 함수포인터를 배열로 선언하여 다양한 함수를 동적으로 저장하고 사용 가능하다. 동적로딩 : 라이브러리에서 함수 호출이 가능하며, 런타임 시 필요한 라이브러리를 로드하고 사용가능하다. 코드 재사용 : 다른 함수의 일부 기능을 함수포인터로 사용하여 재사용성을 높일 수 있다. 사용법 테스트) #include int think() { int num = 3; ..
| OutLine. 점층적 생성자 패턴 (Telescoping Constructor Pattern) │─ 특징 │─ 장점 │─ 단점 │─ Class Diagram │─ 구성 │─ 코드 With.C++ │─ Result(후기) └─ Github 복잡한 생성 과정의 객체를 생성과 구현을 분리하고 동일한 로직의 생성을 거쳐 결과를 만들어냄. 특징 객체 생성 과정을 인터페이스 클래스와 구현 클래스로 분리하여 유연함. 객체 생성 과정을 캡슐화하여 생성하는 방식을 추상화함. 객체 생성 과정에서 필요 매개변수를 검사하고 생성함. 장점 인터페이스를 통하여 재구현하는 방식으로 동일한 로직에 다른 객체 생성이 가능 유연하여 재사용성이 높아 유지보수에 유리 객체 생성 과정에서 인터페이스를 활용하여 오류 방지 복잡한 생성 구..
| OutLine. 점층적 생성자 패턴 (Telescoping Constructor Pattern) │─ 특징 │─ 장점 │─ 단점 │─ 코드 With.C++ │─ Result(후기) └─ Github 특징 매개변수를 가지는 생성자를 다양하게 미리 만들어 두는 것. 생성자를 특정하여 명백하게 배치 생성 가능. 구현해두는 것에 따라 필수 매개변수, 선택 매개변수 구분. 장점 구현이 간편함 가독성이 높음 각 생성자가 파라미터 종류와 개수를 명확하게 표현 단점 코드가 복잡해짐 (생성자가 많아짐) 유지보수성 저하 파라미터 순서 잘못 기입으로 인한 버그 발생 매개변수의 타입이 같은 경우 생성자 불가 코드 - With. C++ Robot.hpp #pragma once #include class Robot { pri..