- 책_곽용재님 홈페이지
- 책_노란북 - 책 가격비교
- 책_김재우-SICP번역
- 플밍_쏘쓰포지
- 플밍_CodingHorror ?
- 플밍_상킴
- 플밍_김민장님
- GPGStudy
- 플밍_jz
- 플밍_샤방샤방님
- 플밍_글쓰는프로그래머2
- 플밍_키보드후킹
- 사람_재혁
- 사람_kernel0
- 사람_경석형
- 사람_kikiwaka
- 사람_Junios
- 사람_harry
- 사람_어떤 개발자의 금서목록..
- 사람_모기소리
- 사람_웅섭형
- 사람_민식형
- 도스박스 다음카페
- 플레이웨어즈 - 게임하드웨어벤치마크
- David harvey의 Reading Marx's c…
- 한겨레_임경선의 이기적인 상담실
- 본격2차대전만화 - 굽시니스트
- 영화_정성일 아카이브
- 영화_영화속이데올로기파악하기
- 음식_생선회
- 죽력고
- 사람_한밀
- 플밍_수까락
- 게임제작
- 공룡_박진영박사님
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 유머
- 책
- 김두식
- 고등학교 사회공부
- 게임
- 프로그래밍
- 인문학
- 유시민
- 진중권
- 노무현
- 고전강의
- 태그가 아깝다
- modernc++
- 소비자고발
- 정성일
- 강유원
- 단상
- stl
- BSP
- 건강
- 정신분석
- 삼국지6
- 일리아스
- template
- programming challenges
- 영화
- 삼국지
- 진삼국무쌍5
- Programming
- c++
- Today
- Total
목록Programming (41)
lancelot.com
3개월 전 쯤에 진행하였던 MoinMoin wiki to Doku wiki migration 작업 결과 많은 생각이 들었는데, 잊어버리기전에 기록해보기로 하자. 오래된 MoinMoin Wiki가 설치되어 사용하던 머신을, 다른 머신으로 옮기는 김에 Wiki를 변경하기로 하였다.검토 결과, 가볍고 스틱 버전이라는 것이 있어서 별다른 설치 없이도 파일 복사만으로 사용 가능한 장점이 있는 doku wiki를 써보기로 했다. (moin to dokuwiki converter 도 존재하고)일단 Gemini에게 migration을 어떻게 하면 좋냐고 하는 물음을 하니 적당하게 계획도 세워주고, moin to dokuwiki 마이그레이션 python이 어디있는지도 알려주고, 사용법도 알려주었다.converter 의..
lvalue vs rvalue "표현식( expression )" 이 등호의 왼쪽에 놓일 수 있으면 lvlaue, 놓일 수 없으면 rvalue 각 언어마다 "정의가 약간씩 다르다." C++ 에서의 특징 lvalue rvalue 등호( = ) 의 왼쪽에 올 수 있다 등호( = )의 왼쪽에 올 수 없다 이름이 있고, 단일식을 벗어나서 사용가능 이름이 없고, 단일 식에서만 사용 주소 연산자로 주소를 구할 수 있다 주소 연산자로 주소를 구할 수 없다 참조를 반환하는 함수 문자열 literal 값을 반환하는 함수 실수/정수 literal 임시객체( temporary ) 상수는 rvalue 이다? -> No 모든 rvalue는 상수이다? -> No #include int x = 10; int f1() { retur..
type deduction 이란? 컴파일러가 주어진 조건(표현식)을 가지고 타입을 결정하는 과정 type deduction 이 발생하는 경우 template auto decltype auto 와 template 은 동일한 규칙을 사용 int main() { int n = 10; const int c = 10; auto a1 = n;// int a1=n; auto a2 = c;// (1) const int a2=c; // (2) int a2=c; ==> ok } 추론된 타입을 조사하는 방법 typeid(T).name() g++ : 실행파일 이름 | c++filt -t const / volatile / reference 정보가 출력되지 않는다. error 메세지 확인 의도적으로 에러를 발생시키면 에러 메세지..
Special member function 사용자가 제공하지 않으면 "컴파일러가 제공하는 멤버 함수" 디폴트 생성자 ( default constructor ) 소멸자 ( destructor ) 복사 생성자 ( copy constructor ) 복사 대입연산자 ( copy assignment ) 이동 생성자 ( move constructor ) 이동 대입연산자 ( move assignment ) Special member function 들이 "trivial 하다"고 하는 경우의 의미는? https://docs.microsoft.com/ko-kr/cpp/cpp/trivial-standard-layout-and-pod-types?view=msvc-170 Trivial 의 조건 컴파일러가 생성하는 Specia..
new / delete #include class Point { int x, y, z; public: Point(int a, int b, int c) : x{ a }, y{ b }, z(c) { std::cout
다중상속과 this 기반 클래스 포인터로 파생 클래스 객체를 가리킬 때 "객체 안에 있는 기반 클래스의 위치"를 가리킨다 다중 상속일 경우 객체의 주소와 다를 수 있다. static_cast VS reinterpret_cast static_cast 인자로 전달된 주소 안에서 기반 클래스의 위치(주소)가 반환된다. 상속관계가 아닌 경우 에러 reinterpret_cast 항상 인자로 전달한 주소가 동일하게 반환된다. 상속관계가 아니어도 에러 아님. 해당 메모리를 "다르게(다른 타입으로) 해석하겠다" 는것. #include struct A { int x; }; struct B { int y; }; struct C : public A, public B { int z; }; int main() { C cc; s..
Pointer to member data #include struct Point { int x; int y; }; int main() { int num = 0; int* p1 = # int Point::* p2 = &Point::y;// 멤버 함수포인터처럼 객체에.* 연산자를 사용해서 접근하기 위함 *p1 = 10;// ok //*p2 = 10;// error Point pt; pt.*p2 = 10;// pt.y=10 // *( (char*)&pt+p2 )=10; std::cout
멤버함수의 호출원리(this call) class Point { public: int x{ 0 }; int y{0}; public : void set(int a, int b) { x = a; y = b; } }; int main() { Point pt1; Point pt2; pt1.set(10, 20); pt2.set(10, 20); } 주의 실제 함수 인자가 전달되는 방식과 객체 주소가 전달되는 방식은 약간의 차이가 있다. 표준으로 정해진 사항은 아니므로 32bit/ 64bit 환경, 컴파일러에 따라서도 차이가 있을 수 있음. static member 함수는 객체의 주소가 전달되지 않는다. this call 이 아님. 객체의 주소를 알 수 없기때문에 x, y에 접근할 수 없음. member functi..