error C4996 'strcpy' This function or variable may be unsafe


strcpy를 strcpy_s 로 변경해주면 해결된다

[] : 아무것도 캡처하지 않음

 

[&x]: xCapture by reference 

 

[x] : x Capture by value

 

[&] : 모든 외부 변수를 Capture by reference

 

[=] : 모든 외부 변수를 Capture by value

 

[x,y] : x,y Capture by value

 

[&x,y] : x Capture by reference , y Capture by value

 

[&x, &y] : x,y Capture by reference

 

[&, y] : y 를 제외한 모든 값을 Capture by reference

 

[=, &x] : x 를 제외한 모든 값을 Capture by value

 

 

'SW' 카테고리의 다른 글

람다함수란?  (2) 2024.07.10

람다(Lambda)

 

람다함수 = 익명 함수

-  사용하는 이유 : 클래스선언 따로 안해줘도 됨, 코드가 짧아짐, 함수의 인라인화가 가능함

-  람다 함수는 일반적으로 한 줄 또는 몇 줄의 짧은 코드로 구성됩니다.

 

원래 함수 생성 형식 : return type name(parameters) { Body };

람다함수 생성 형식 : name = [captures](parameters) -> return type { body };

   또는std::function<type(parameters)> name = [captures](parameters)->type{Body};

 

simple_sort(arr, 5, [](int a, int b) { return (a < b ? true : false); });

  • [captures] : 이미 정의되어 있는 어떤 변수나 상수 중에서 람다 함수 내부에서 사용 할 것을 적어주는 부분 (생략 불가능)
  • Options
    - [&] : 외부에 정의되어 있는 모든 변수들을 레퍼런스 형태로 람다 함수 내부에 가져 오겠다는 의미
    즉, 모든 외부 변수 참조
    - [=] : 외부에 정의 되어 있는 모든 변수들을 복사한 값으로 람다 함수 내부에 가져 오겠다는 의미
    즉, 모든 외부 변수 복사
    ex) auto captures = []() -> void {cout << "Hello, World!\n"; };
    - "Hello, World!” 실행
  • 호출방법 : captures ();
  • 호출하면 정의와 동시에 1회 실행 후 사라짐 (람다함수는 익명함수이기 때문)

 

결론적으로 람다함수는 함수 선언 부분에서 조금 더 간편하게 업그레이드된 특징이 있으며

어떤 변수를 어떻게 참고할 것인지를 추가한 함수입니다.

'SW' 카테고리의 다른 글

람다함수 사용 옵션  (3) 2024.07.11
def list_chunk(lst, n): 
     return [lst[i:i+n] for i in range(0, len(lst), n)]

list_test = list(range(1,30))
print("분할 전 : ", list_test)

list_chunked = list_chunk(list_test, 6)
print("분할 후 : ", list_chunked) 

 

# 출력

# 분할 전 : [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]

# 분할 후 : [[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]]

'SW > Python' 카테고리의 다른 글

[python] json파일 다루기  (0) 2023.11.02

1. json파일 읽기


import json

with open('C:\\test.json', 'r') as f:

    json_data = json.load(f)

 

 

  - 읽은 json 파일 출력하기

print(json.dumps(json_data) ) 

 print(json.dumps(json_data, indent="\t") ) # align 맞추어 출력하기

  

 

 

 

 2. json 파일 내의 특정 key의 내용만 출력하기

result = json_data['key1']['key2'] # key1의 요소인 key2의 내용을 출력

print(result)

 

 

 

 

 3. json 파일 수정하기

json_data['key1']['key2'] = "7000" # key1의 요소인 key2의 내용을 7000으로 변경

print(json_data['key1']['key2']) # 7000이 출력됨

 

 

 

4. python 코드로 json 파일 저장하기

 

예시

import json

car_group = dict()

k5 = dict()

k5["price"] = "5000"

k5["year"] = "2015"

car_group["K5"] = k5


avante = dict()

avante["price"] = "3000"

avante["year"] = "2014"

car_group["Avante"] = avante



#json 파일로 저장

with open('C:\\test.json', 'w', encoding='utf-8') as make_file:

    json.dump(car_group, make_file, indent="\t")


    

# 저장한 파일 출력하기

with open('C:\\test.json', 'r') as f:

    json_data = json.load(f)

print(json.dumps(json_data, indent="\t") )

 

 

 

 

 - 결과

{
    "K5": {
        "price": "5000",
        "year": "2015"
    },
    "Avante": {
        "price": "3000",
        "year": "2014"
    }
}

 

 

 

 

'SW > Python' 카테고리의 다른 글

[Python] 리스트 분할 split 나누기 자르기  (0) 2023.12.18

 

 > 센서 패키지

 

 

   - LDS (Laser Distance Sensor, 레이저 거리센서)

  • 고성능, 고속 , 실시간 데이터 취득이 가능하다는 장점이 있어 거리 측정 관련분야에서 활용범위가 넓음
  • 로봇분야에서 많이 사용되는 센서 , 물체나 사람을 인식하는 곳에도 사용되며 실시간성이 좋아서 무인자동차 등에 활용
  • 원리 : LDS 는 레이저와 반사거울 , 모터 이렇게 크게 세가지로 구성되어있는데, 비스듬히 기울어져있는 거울을 모터로 회전시켜가며 레이저를 쏘고 , 레이저가 반사되어 돌아오는 시간을 측정하는 원리

 

 

 

 

   - Scan 데이터 확인하기

  •     LDS 지원 패키지 설치 : 각 LDS 마다 지원하는 패키지가 다름

            ex) velodyne 사의 velodyne 패키지터틀봇3을 지원하는 hls_lfcd_lds_driver 

 

  •     LDS 연결 및 사용 권한 변경 : sudo chmod a+rw [해당 LDS인식포트 번호]
  •     roslaunch 를 통해 해당 패키지의 *.launch 폴더를 실행

            ex) roslaunch beginner_tutorials fakeLaserscan.launch

  •     rostopic echo를 통해 해당 토픽 내부 값 확인

            ex) rostopic echo –n1 /fakescan

 

 

 

 

    - GUI 환경에서 거리 정보 확인

 

 

     rviz 실행 : rosrun rviz 또는 rviz

     화면과 같이 세부 설정 변경

'SW > ROS' 카테고리의 다른 글

ROS 지원 패키지 (2)  (3) 2023.11.02
ROS 지원 패키지  (0) 2023.11.02
ROS의 도구  (0) 2023.11.02
ROS의 명령어  (2) 2023.11.02
ROS의 콘셉트  (0) 2023.11.02

+ Recent posts