일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바
- 예제
- Django
- 스크럼 마스터
- java
- Groovy
- express
- C++
- 지식 그래프
- scrum
- benchmark
- ngrinder
- node.js
- 이벤트 루프
- 파헤쳐보자
- Router
- 노드js
- Python
- socket.io
- 개발자
- 소켓
- RDF
- Knowledge Graph
- 특징
- 스크럼
- 노드
- node
- 스레드
- nodejs
- Stream
- Today
- Total
목록C++ (3)
라봉이의 개발 블로그
1. void 포인터 c, c++ 언어에서 generic 포인터라고도 알려진 void 포인터는 굉장히 특별한 타입이다. 그 어떤 타입이든 객체든 가리킬 수 있는 포인터이기 때문이다. 심지어 함수도 가리킬 수 있기 때문에 void 포인터를 이용해 함수를 실행할 수도 있다. 선언은 다음과 같이 할 수 있다.void *ptr; 그리고 어떤 데이터든 주소값만 대입하면 된다. ex) int a = 10; float b = 10.1f; void *aPtr = &a; void *bPtr = &b; void 포인터를 사용하기 위해선 대입한 데이터형으로 형변환 시킨 후에 사용해야 한다. 왜냐하면 void 포인터가 뭘 가리키는 지 모르기 때문이다. ex)std::cout
QGraphicsItem 클래스의 boundingRect 함수는 QGraphicsScene에 addItem된 QGraphicsItem들의 직사각형 모양의 외부 경계를 정하는 함수이다. QGraphicsView 안에 존재하는 QGraphicsScene 안의 이벤트를 감지한다. 이때 QGraphicsView는 item들을 다시 paint하는 지 결정해야하는데 이때 boundingRect에서 정한 아까의 직사각형이 scene 범위 외에 존재한다면 그 item을 paint하지 않는다. 그래서 boundingRect를 잘못 지정한다면 화면에 item이 없어졌다가 다시 생기는 현상을 목격할 수도 있다. 참고로 사진에 보이는 선들은 QGraphicsItem을 상속 받았다. 문서: qt docs 참고사진:
우분투 환경에서 C++을 공부하는 와중에 Thread에 대해 연습해보다가 Thread에는 커널 레벨과 유저 레벨이 존재한다고 들었다. 그렇다면 C++ thread 클래스(pthread를 랩핑한)는 어떤 종류인지 찾아보고 싶었다. 또한 Thread들이 과연 각 Thread마다 물리적인 다른 CPU에 각각 할당이 될까?? 라는 궁금함에 자료조사를 해보았다. 그러기 위해서는 ubuntu에서 스레드 당 정말 각각의 CPU에 할당 되는 지를 직접 보고 싶었다. 과연 하나의 CPU에 할당이 되는 것인지, 스레드마다 각각 다른 CPU에 할당되는 지 눈으로 직접 보고싶었기에 조사를 해보았다. 먼저 C++ 코드를 작성하였다. #include #include #include using namespace std; void ..