본문 바로가기

주솟값

[C++] 클래스와 객체 (2) 1. 객체 전달하기 C++은 pass by value가 default임 → 메모리 복사가 많이 일어나게 되고(메모리 비효율), 프로그램의 성능과 실행 속도를 저하시킬 수 있다. *) const의 위치에 따른 의미를 잘 구분하기!! pass by reference의 효율성: 메모리 상의 위치(주솟값)를 통해 호출 객체에 접근할 수 있다. pass by ref.는 메모리 주소를 함수로 보내기 때문에 객체의 멤버 데이터들을 함수에 복사 할 필요가 없다. 함수의 입력 파라미터에 &와 const를 동시에 걸어줬을 때: 함수는 실제 입력 변수를 수정하지 않는다. (메모리 복사도 일어나지 않고 값이 아무 때나 바뀌지 않음을 보장) const 메소드: 멤버 함수의 타입을 const로 선언한다 → 해당 메소드가 멤버 변.. 더보기
[C++] 포인터, 벡터, 배열 (3) 1. 동적 배열 (Dynamic Array) 정적 배열(static array)은 프로그램 실행(run-time)중 크기가 고정돼있다. 동적 배열의 크기는 프로그램 동작 중 동적으로 할당/해제될 수 있다. → 메모리 측면에서 효율적임! 1. new: 동적 메모리 할당에 쓰이는 키워드 double *numbers; numbers = new double[4]; double *numbers = new double[4]; //선언과 할당 동시에 numbers라는 이름의 배열, 원소들은 double형임 numbers는 'new' 키워드로 double형 원소들을 크기(4)만큼 블락(메모리 공간)에 할당함 이 때 블락의 시작 주솟값(=[0]원소의 시작 주솟값)을 저장하는 포인터가 'numbers'가 된다. (동적 배.. 더보기
[C++] 포인터, 벡터, 배열 (2) 1. 함수 리턴값으로 벡터 이용하기 #include #include #include using namespace std; bool is_prime(int n) { if (n 더보기
반응형