컴퓨터 수업(64)
-
생성자 오버로딩, 어디까지 ambiguous 한가.
Summary: 1. 인스턴스를 인수없이 생성하려면 (ex. Cat frisky;) 생성자는 유일하게 하나여야한다. 2. 따라서 다음과 같이 인수없는 생성자와, 인수있는 생성자가 존재할때는 명시적으로 생성자를 호출하지 않으면 컴파일 에러가 난다. 따라서 우려와달리, 어떤 생성자를 컴파일러가 선택할까? 라는 의문은 갖지 않아도된다.
2020.10.27 -
콘솔,파일 출력 연산자 오버로딩 (+=프렌드)(+=템플릿 객체에 대해서)(** 요약필요)
(프렌드) 바운드, 언바운드 : blog.plorence.kr/528 (프렌드) introvert, extrovert : stackoverflow.com/questions/4660123/overloading-friend-operator-for-template-class 출력 연산자 오버로딩의 예시 (호출부) cout
2020.10.26 -
C++ 템플릿에 관한 얘기
1. class ItemType을 메소드의 어디까지 붙여야되는걸까? 이건 컴파일이 되지만, 이건 컴파일이 안됀다. VecType이란 클래스는 없다. 라고 생각해야한다. class를 template class로 선언했기 때문에, 이를 기본 클래스로 구현할 수 없다. 컴파일러 : VecType은 뭐지?, VecType은 템플릿 클래스라 식별자가 들어가야되는데... 당연하게도 다음 구문도 컴파일되지 않는다. 요것도 안됀당 2. VecType 클래스의 내부에서 클래스를 파라미터로 받는 메소드는이 지정되어야할까? 그리고 해당 클래스의 인스턴스를 반환할때 을 지정해줘야 할까? 2-1 VecType VecType 아니다 ㅡㅡ 의 메소드가 VecType의 인스턴스를 파라미터로 받을 떄, 을 지정해줘야되는가? 잠깐 ! ..
2020.10.26 -
CLion 인코딩
Clion인코딩에 대해서 신경써야 할 것은 총 7가지이다. 1. Settings -> FileEncoding -> Global Encoding 2. Settings -> FileEncoding -> Project Encoding 3. Settings -> FileEncoding -> Properties Encoding 4. VM option 5. Source Code Settings (우측하단) 6. CMAKE execution 명령어 7. 시스템 로켈 언어 내가 해야 할 설정은 다음과 같다. 2를 UTF-8로 5를 UTF-8로 6을 CP949로 7을 CP949로 디버깅이 하고싶다면 cp를 65001로 설정하고 디버깅해야한다. 불편...ㅠ 이러면 6을 풀어줘야한다. 왜 UTF-8 (CLion defaul..
2020.10.24 -
vector클래스 생성자 인수, 생성자의 다른 인수 기입방식
vector클래스 생성자 인수 vector vec(2); - vector 클래스의 내부 data들을 int로 정의하고, 그 size는 2이다. vector vec(2,3); - vector 클래스의 내부 data들을 int로 정의하고, 그 size는 2이며, 그 초깃값은 3이다. vector vec(2, vector(3)); -vector 클래스의 내부 data들을 int로 정의하고, 그 size는 2이며, 그 초깃값은 anonymous vector object이며 그 object의 내부 data들은 int로 정의되어있고, size는 3으로 초기화 되어있다. -complie error, anonymous vec을 인수로 사용하는것은 가능하긴하지만, 현재 vector클래스의 내부 data들은 int로 정의..
2020.10.23 -
자료구조_중간고사_준비
QUIZ reference type은 무조건 lhs에 있다. ex) p = &a -> a는 무조건 주소연산자 new연산자는 어떤 특정 메모리에 heap 메모리를 할당하기도 하지만, 해당 포인터가 이미 가르키는 메모리주소가 있다면 해당 메모리를 다른곳으로 치우고 heap memory를 할당한다. 따라서 정리하자면 px = new int; 에서 new는 px에 다른 임의의 값을 집어넣고 (다른 주소를 대입하고(이는 무조건 heap 주소이다.)), 해당 주소에 메모리를 4byte할당한다. 마찬가지로 delete px; 에서 delete는 px가 가르키는 메모리를 해제하고 해당 포인터를 다른곳으로 치워버린다. c++에서 call by reference는 reference type의 parameter를 가지는 함..
2020.10.20