본문 바로가기

TIL57

WIL (22.2.20) WIL (Weekly I Learned) 이번주에 배운 것 전처리기: 컴파일 하기 전에 텍스트를 '복붙'해주는 일을 함 생성자 : 개체 처음 만들어질 때 호출되는 함수 컴퓨터의 메모리 기본 구조 CPU는 메모리와 함께 일을 한다. 연산은 CPU, 저장은 메모리 메모리에서 CPU로 자주 보내는 것은 중간 캐쉬 메모리에 저장해 계산 속도를 높인다 임의접근 vs 순차접근 임의 접근 : RAM 주소를 통해 원하는 데이터에 찾아감 순차접근: 순서대로 다 뒤지는 것 초기화 리스트(Initializer List) : 찍으면 초기화 리스트 시작한다는 것 기본적으로 초기화리스트 해줄 수 있는 것들은 해주는 것이 좋다 기본 생성자 기본 생성자는 매개변수를 받지 않음 클래스에 생성자가 없으면 컴파일러가 기본 생성자를 자동적.. 2022. 2. 22.
WIL (22.02.13) WIL (Weekly I Learned) 이번주에 배운 것 상속 부모 클래스의 멤버 변수와 메소드를 자식 클래스가 재사용 재사용: 그대로 쓸 수도 있지만 재정의해서 쓸 수도 있다 왜 써? 다형성 쓸 수 있어서 캡술화 멤버 변수를 직접 변경할 수 없도록 캡슐처럼 껍데기를 둘러싸는 과정 왜 써? 캡슐 안에서 특정 로직에 따라 멤버 변수가 적절하게 변경되어야 프로그램이 안전할 수 있기 때문 해커 공격 혹은 실수 방지를 위한 예외처리 다형성 왜 써? 하나의 함수로 자식들 명령 해주려고 / move (o) , fly swim walk(x) 가상함수 상속 관계에서 부모가 가지고 있는 멤버함수를 자식이 그대로 사용하지 않고 재정의해서 쓰고 싶을 때 그 모의 멤버 함수를 가상함수화 해야 함(virtual 키워드 붙여야.. 2022. 2. 14.
WIL (22.02.06) WIL (Weekly I Learned) 이번주에 배운 것 복사 생성자의 호출 시점 기존에 생성된 객체를 이용해 새로운 객체를 초기화 하는 경우 Call-by-value 방식의 함수호출 과정에서 객체를 인자로 전달하는 경우 객체를 반환하되, 참조형으로 반환하지 않은 경우 임시객체 = 지역변수 이동 생성자와 복사 생성자 이동 생성자는 메모리를 따로 잡지 않음(얕은복사) 복사 생성자는 기존의 것도 남아 있는데 메모리를 따로 잡음 개체지향 프로그래밍 / 접근 제어자 스택/힙 스택 단순히 스택 포인터 옮김 함수 호출과 반환이 이 메모리에서 일어남 예약된 로컬 메모리 공간 힙 전역 메모리 공간 비어있고 연속된 메모리 블록 찾아야 함 프로그래머가 메모리 직접 할당 및 해제해야 함. 그렇지 않으면 메모리 누수 발생 .. 2022. 2. 6.
WIL (22.1.30) WIL (Weekly I Learned) 이번주에 배운 것 포인터와 레퍼런스의 차이 NULL 초기화 포인터는 NULL 초기화 가능, 레퍼런스는 NULL 초기화 불가능 메모리 공간의 소모 포인터는 주소 값을 저장하기 위해 별도의 메모리 공간을 소모 레퍼런스는 같은 메모리 공간을 참조하므로 메모리 공간 소모 안함 call by pointer / call by reference call by pointer 매개 변수로 함수 인자 전달 시, 메모리 소모가 일어나고 값 복사가 발생 call by reference 메모리 소모가 없고, 값 복사 또한 발생하지 않음 프로그래머스 lv1 평균 구하기 - 소숫점까지 나오고 싶을 때 앞에 (double)로 형 변환 해주기 핸드폰 번호 가리기 - string 대입. stri.. 2022. 1. 31.
WIL (22.1.23) WIL (Weekly I Learned) 이번주에 배운 것 컴퓨터의 작동 원리 CPU, 주기억장치, 보조기억장치, 그래픽 카드 CPU가 운영체제를 실행시키고 싶을 때 일 하는 방식 보조기억장치에 있는 운영체제 프로그램을 주기억장치로 복사시킨 후 일을 함 운영체제의 핵심 하드웨어와 응용 프로그램 중개, 리소스 관리 등 C++ 출력, 입력, 참조, 문자열, 생성자/소멸자, std::array 출력: 출력형식 지정할 때 조정자를 쓰기도 한다 입력 scanf가 왜 위험하지? 경계검사를 하지 않아서! 입력 버리기 : clear, ignore 각각 언제써? clear: 스트림이 좋지 않은 상태가 되었을 때다시 스트림을 아무 문제 없는 상태로 만들 때(문제 있는 bit가 설정되었을 때 그걸 그냥 지워줄 때) igno.. 2022. 1. 24.
코딩테스트를 마치고 정말 가고 싶은 회사의 코딩테스트를 봤다. 6문제가 나왔고 210분이 주어졌다. 서류를 내고 한 1주 후에 보지 않을까 했는데 서류 낸 주에 보게 되다니 매우 당황스러웠지만.. 그래서 붙을 수 있을까 걱정했지만 걱정할 시간도 사치였다. 나름의 벼락치기로 프로그래머스의 Lv1-2단계 문제들을 풀었다. 풀다 보니 재미있는 것 같기도 하고.. 코딩테스트를 보면서 절실하게 느낀 것들이 있어 잊기 전에 적는다. 무엇보다 중요한 것은 꾸준히 실천하는 것이고 다음에 있을 코딩테스트를 대비하는 것 이다. - 처음부터, 기초부터 집착하지 말자 C, C++ 처음부터 다시 정리하고 싶고, 까먹으면 다시 첨부터 돌아가야 다음것도 잘 흡수할 것 같고 그런데 일단 시간도 없고 어차피 시간 지나면 또 까먹을 뿐더러 써먹지 않으면 .. 2021. 9. 12.