일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 400에러
- 본식후기
- 아펠가모선릉
- 바르셀로나
- 마드리드
- 세비야
- b-tree index
- HTTP
- kopring
- 아펠가모 선릉
- 코프링
- Kotlin
- git명령어
- HTTP #웹기술
- 스프링 AOP
- kotiln
- 관심지향프로그래밍
- 아펠가모
- c# scv
- @Component
- elk
- db index
- Srping AOP
- 그라나다
- http상태코드
- 스페인 준비물
- 코틀린 함수
- 코틀린
- 스페인
- sprintboot
- Today
- Total
목록끄적끄적 (64)
끄적이는 메모장
#make_shared make_shared와 new의 사용 비교 auto work1(std::make_shared()); std::shared_ptr work2(new Test); new를 사용했을 때 1. Test라는 Type을 중복하여 두 번이나 사용해야 한다. 2. exception에 safety 하지 않을 수 있다. 2의 예시 void func2(std::shared_ptr p1, int a); -> func2(std::shared_ptr(new TEST), func1()); 이 함수가 실제 실행 되기 위해서는 a. new 를 TEST 객체 생성 b. 생성된 객체로 shared_ptr 생성 c. func1 실행 세 단계가 유효해야함 만약 a-c-b 순으로 실행되었는데! c 함수 실행 중 exce..
#shared_ptr 객체의 소유권을 다른 포인터와 공유 가능 -> 복사가 가능 reference count가 존재하는데 포인터가 복사될 때마다 1씩 증가하는 것으로 이해가능 그리고 참조가 사라질 때마다 1씩 감소하는데, reference count가 0이 되었을때 메모리가 해제된다. shared_ptr p1(new double(1.0)); -> reference count - 1 auto p2 = p1; -> reference count - 2 use_count : 현재의 reference count 값을 알 수 있다. ex ) p2.use_count() => 2 shared_ptr 객체가 복사 되는데 사용되는 메모리 크기는 어떻게 될까 ? -> 답은 증가 되지 않는다! 단지 증가 되는 것은 refer..
#smart pointer (스마트포인터) 1. 일반 포인터는 new를 이용하여 메모리를 할당 한 후 delete 연산을 호출 하지 않으면 메모리 누수가 발생한다. 2. 예기치 못하게 동적 할당된 메모리를 해제 할 수 없는 경우가 발생한다. => 스마트 포인터는 이러한 일반 포인터에서 발생할 수 있는 문제를 쉽게 해결하는 것에 도움을 주려고 등장했다. 헤더는 #incldue # auto_ptr 객체를 할당하면 초기화가 된다 std::auto_ptrfrist(new ExmplaeClass); frist 라는 스마트 포인터 객체가 생성 되었다 std::auto_ptrsecond(first); 이때, first라는 객체는 second라는 객체에 복사가 될까? 이동이 될까? 답은 이동이 된다. 즉, second..
#nullptr 기존 C++은 포인터 변수가 가리키는 주소가 없는 경우 NULL을 사용했다 void* p1 = 0; 0은 암시적으로 NULL을 의미함 만약 포인터를 인자로 받는 경우 NULL을 0으로 전달하는 경우 정수형 0으로 인식되는 문제가 발생할 수 있다. 즉 근복적으로 NULL 포인터의 값을 정수인 0을 사용했기 때문이고 C++11에서는 이를 해결 하기위하여 nullptr이 기존의 NULL을 대체하려고한다. nullptr의 타입은 실제 nullptr_t이다. 즉, 정수형과 호환이 될 수 없다. 단, boolean과 호환이 가능하고 nullptr이 false로서 사용이 가능하다. int main() { int* p1 = nullptr; nullptr_t p2 = nullptr; }
# assertion run time에 true-false를 판단하여 그 결과가 false인 경우 예외 처리를 하기 위해 사용됨 -> 프로그램이 실행중에 예외 감지를 위해 사용 # static_assert compile time에 assertion을 수행할 수 있도록 제공되는 기능 보통은 type traits class에서 컴파일 타임에 템플릿 인자의 타입 특성을 확인하는데 사용됨 static_assert(bool_expr, message); ex) static_assert(false, "not support"); 컴파일 시 static_assert가 실패 했을때, message에 설정한 내용이 보여진다. 예시 #include using namespace std; template void test (T ..
# auto https://m.blog.naver.com/PostView.nhn?blogId=kyed203&logNo=220068115571&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F 본 블로그를 참고 하였고, 다시 써 가면서 생각을 정리한 것 뿐입니다. 초기화 된 값에 따라서 자동으로 자료형을 결정해주는 기능 -> 초기화 된 값에 영향을 받기 때문에 선언만 하는 것을 불가능 하다. auto a = 1; -> int auto b = 'B'; -> char auto c = 1.1; -> double auto d = L'B' -> wchar_t 또한, 구조체 혹은 클래스도 auto를 이용하여 자료형을 결정할 수 있다. class TEST { int test; } T_..
# 다낭(+호이안) 3박 4(5)일 계획 세워보기 주의! 택시는 보통 하루에 30000원 안팎! # 관광지 정리 1. 영흥사 (다낭) https://mortareg.blog.me/221280345745 point! 해수관음상 : 동남아 최대 크기의 불상 67m! 2. 바나힐 (다낭) https://blog.naver.com/codud7763/221280489347 다낭에서 약 한시간 거리 요금은 31$ 케이블카 마지막 운영은 오후 5시 point 1! 세계에서 두번째로 긴 케이블카 : 5200m! point 2! 레일바이크 3. 후에 왕궁 (다낭) https://falltime12.blog.me/221264798934 다낭의 경복궁? 넓은 관광지 및 경치 4. 코코넛배 (호이안) https://zaawo..
#3 라벨 알아보기 윈도우 폼 프로젝트를 생성하고 생성된 창을 디자인 하는 것을 알아 보았다면, 이제 실제로 창 내에 어떤 폼을 추가하고 어떻게 동작하게 할 것인지를 알아보자. 1. 라벨 라벨은 텍스트 표현하는 폼이다. (= 안드로이드에서 텍스트뷰 정도로 생각할 수 있을 것 같다.) - Toolbox에서 Label을 찾아 윈도우에 배치 해보자 - 라벨 안에 쓰여진 텍스트를 바꾸기 위해서는 Form1.Designer.cs 파일에서 this.label.Text 부분을 수정 해주면된다. // label1 // this.label1.AutoSize = true; this.label1.Location = new System.Drawing.Point(123, 44); this.label1.Name = "label1..