전체 글 (34) 썸네일형 리스트형 namespace 사용 이유 면접에서 이런 질문을 받을 줄 몰라서 준비를 안 했는데 윤성우의 열혈 C++ 책에서 봤던 예시가 떠올라 그대로 답했다. 대형 프로젝트 등을 할 때 여러 회사에서 코드를 작성한 후 합쳤는데 같은 이름의 함수가 여러 개 존재하는 경우, 네임스페이스를 사용한다면 이름을 변경하지 않고도 구분하여 사용할 수 있다는 장점이 있다. 검색해보니까 다른 블로그에서도 이런 식으로 설명한다. 휴 다행.. call-by-value와 call-by-reference의 차이 call-by-value는 값에 의한 호출 원본 값을 복사하여 사용하므로 메모리량이 늘어나지만 원본에는 영향을 주지 않는다. call-by-reference는 참조에 의한 호출 원본 값이 들어있는 주소를 참조하여 값에 접근하므로 메모리량에는 변화가 없지만 원본에 영향을 줄 수 있다. class와 struct의 차이 3가지 1. 접근 제어 지시자 구조체의 경우, 접근 제어 지시자를 따로 선언하지 않으면 모든 변수와 함수는 public으로 선언된다. 클래스의 경우, 접근 제어 지시자를 따로 선언하지 않으면 모든 변수와 함수는 private으로 선언된다. 2. 상속 구조체는 상속이 불가능하다. 클래스는 상속 가능하다. 3. 메모리 할당 영역 구조체는 메모리의 스택 영역에 저장된다. (예외 있음) 클래스는 메모리의 힙 영역에 저장된다. 구조체가 메모리의 힙 영역에 할당되는 경우 1. 모든 필드의 합이 16Bytes를 넘기는 경우 2. 구조체 안에 클래스 타입을 필드로 가지는 경우 3. new 연산자를 사용하는 경우 참고한 사이트 https://hijuworld.tistory.com/43 list와 vector의 차이 기술 면접 때 나온 질문은 아니지만 복습하면 좋을 것 같아서 정리해봅니다. 1. 중간 데이터 삭제 시 벡터 - 해당 원소 뒤의 원소들을 모두 한 칸씩 앞으로 이동하는 작업을 수행하므로 속도가 느리다. 리스트 - 해당 원소의 앞 뒤의 노드들을 상호 연결하는 과정만 수행하므로 속도가 빠르다. 2. 메모리 저장 위치 벡터 - 메모리의 한 공간에 연속적으로 값이 할당된다. 리스트 - 메모리의 여러 부분에 값이 할당되고 포인터로 서로를 연결하는 구조이다. 3. 랜덤 접근 벡터 - 해당 위치에 바로 접근할 수 있다. 리스트 - 반복문으로 해당 원소가 있는 위치까지 순차 접근을 해야한다. 공통점 1. 크기 변경 가능 2. 순차 접근 가능 int array와 vector의 차이 1. 길이의 고정 여부 배열의 경우, 정의와 동시에 길이를 지정하며 고정되어있다. /* 정적 할당하는 경우 */ int array[3] = {0};// 3이라는 크기를 지정했다 /* 동적 할당하는 경우 */ int array[] = new int[5];// 마찬가지로 크기를 정해주어야한다 벡터의 경우, 사용자가 계속해서 원소를 추가하거나, 삭제하여 길이를 조절할 수 있다. vector myvector(2);// 크기를 할당할 수 있다 myvector.push_back(1); myvector.push_front(2); myvector.push_back(5);// 크기는 이제 3으로 늘어났다 2. 중간 값 삭제 시 배열의 경우, 값을 삭제하더라도 해당 인덱스의 공간은 빈 공간으로 남아있다. 벡터의 경우, 값.. int array와 list의 차이 1. 길이의 고정 여부 배열의 경우, 정의와 동시에 길이를 지정하며 고정되어있다. /* 정적 할당하는 경우 */ int array[3] = {0};// 3이라는 크기를 지정했다 /* 동적 할당하는 경우 */ int array[] = new int[5];// 마찬가지로 크기를 정해주어야한다 리스트의 경우, 사용자가 계속해서 원소를 추가하거나, 삭제하여 길이를 조절할 수 있다. list mylist;// 아직 크기 정하지 않음! mylist.push_front(5);// 현재 크기 1 mylist.push_back(3);// 현재 크기 2 mylist.pop_front();// 현재 크기 1 2. 중간 값 삭제 시 배열의 경우, 값을 삭제하더라도 해당 인덱스의 공간은 빈 공간으로 남아있다. 리스트의 경우, .. int와 long의 차이 어떤 분의 블로그를 참고했습니다 (int와 long int의 차이) long은 int와 달리 운영체제에 따라 크기가 달라진다는 차이점이 있습니다. 32비트 운영체제 64비트 운영체제 int 4 bytes 4 bytes long 4 bytes 8 bytes 단 windows 운영체제는 64비트 환경에서도 long을 4 bytes로 씁니다. char 자료형과 ASCII 코드 #include using namespace std; int main() { char a = 'A'; char b = 'B'; // 어떤 수가 출력될까? cout 이전 1 2 3 4 5 다음