본문 바로가기

Programming47

Literal, 참조 / "문자열"이 왜 그렇게 골치아픈가 학습 내용 1. 상수 = 리터럴... 따라서 참조 안됨. 2. 배열도 참조 안됨. 1. 상수는 리터럴이다. 참조가 안된다. int a = 5; int& b = a; // a의 별칭 b를 만든것이다. b = 4; // b = a = 4 - 위와같이 하면 a = 4로 바뀐다. int& a = 4; - 이건 안된다. 이게 되면, 아래처럼 되어버릴 수 있기때문 int& a = 4; // 이게 원래 안되는것임. a = 5; - 그러면 4가 5로 바껴야한다 (말이 안된다) - const로 참조는 가능하다. const int& a = 4; // a를 변형시키지 않겠습니다! int b = a; 이런식의 사용은 가능! - 추가예시 int& FuncOne(int &a){ a++; return a; } int FuncTwo.. 2020. 12. 27.
C++ 코드최적화 modoocode.com/129 씹어먹는 C 언어 - modoocode.com 정말 정리를 잘 해 주셨다. 고수의 느낌.. 2020. 12. 26.
Const(상수) 학습내용 1. const의 위치에 따른 문법 차이 2. 함수 뒤 const 3. class 안의 메써드 const 인자 1. const의 위치에 따른 문법 차이 - 1. 앞에 붙는 경우 정수형 포인터가 가리키고 있는 값이 const라는 의미. 즉, 가리키는 값을 바꿀 수 없다. - 2. 뒤에 붙는 경우 포인터 주소값이 const라는 의미. 포인터가 가리키는 값은 바꿀 수 있되, 가리키는 주소를 바꿀 수 없다. 2. 함수 뒤 const - 특징 1. 위의 함수가 존재한다고 할 때, IsNotZero()라는 함수 뒤의 const의 역할은 무엇일까? 바로 이 함수 안에서는 어떤 변수도 바꿀 수 없음(mutable은 예외)를 뜻한다. 함수가 클래스 멤버인 경우에만 const 키워드를 함수 뒤에 삽입 할 수 있으.. 2020. 12. 26.
[opencv] 여러대의 카메라를 동시에 틀어주는 class + 카메라 밝기변화(waitKeyEX() 사용) 만든 이유 OpenCV를 이용하다 보면, USB 카메라를 사용해야 할 때가 많은데, 연결되어 있는 카메라가 있는지 확인하고, 자동으로 켜주는 카메라 전용 클래스가 있으면 편할 것 같아서. 또, 각각의 카메라 밝기를 키보드 방향키로 변화시켜줄 수 있으면 좋겠다. 싶어서. 게다가 나만의 헤더에 넣어놓고, 필요할때 마다 꺼내쓰면 개꿀일 것 같아서. 특징 및 동작 클래스 이름은 ControlCam 생성자가 호출되면 CheckCamPort()라는 메서드가 실행된다. CheckCamPort()에서는 0~5번 포트를 확인하고, 카메라가 연결되어 있으면, VideoCapture 객체를 생성한다. 사용하려면, main문에서 ControlCam 객체 생성하고, while문에서 메서드 RunCam() 작성해줘야함. 메모리를.. 2020. 12. 19.
Ubuntu 환경에서 Python 버젼관리 하.. 진짜 Ubuntu 환경에서 python을 사용하다 보면, 내가 python2버젼을 쓰고있는지, python3버젼을 사용하고 있는지... 분명 python3깔았는데, $ python --version 하면 2.7.x 뜬다.. $ python3 --version 하면 또.. 어디 숨어있었다는 듯이 3.5.x 이런식으로 파이썬 3 버젼뜬다. 1. Ubuntu에서는 여러가지 python 버젼을 설치할 수 있다. $ which python /usr/bin/python which python하면 파이썬이 설치된 위치를 알 수 있다. 파일이름을 보면 실제 위치가 아닌 심볼릭 링크이다. $ ls -al /usr/bin/python lrwxrwxrwx 1 root root 9 6월 3 19:35 /usr/bin/.. 2020. 12. 19.