본문 바로가기

공부

흔하디 흔한 포인터의 개념 -1 존나게 흔한 비유로 손가락과 실체. 라고 함. 말 그대로 포인터는 어떠한 위치를 가리키고있는 값 이기 때문. 포인터를 사용해야 하는 이유 중 하나는 원래 값 을 변동해선 안되는 경우. 포인터로 그 위치만을 바꾸어 표현하는 것[정렬] 이 있다. 메모리의각 방은 한 바이트를 기준으로 나뉘어있고 이 방마다 주소가 부여되어 있다. char타입은 1바이트 이기에 그 위치의 주소가 변수의 위치 지만 int타입의 경우는 4바이트를 가지는데 이럴 경우에는 가장 앞의 주소가 그 위치가 된다. 주소 값을 알아내려면 해당 변수 앞에 &를 붙이면 된다. 관련 예제 코드. #include using namespace std; int main() { char c = 'B'; int i = 19; float f = 4.5f; cout 더보기
인자를 사용한 멤버 초기화 리스트 사용 자세한 내용은 주석을 봅시다잉. #include using namespace std; class NeedConstructor {//클래스 정의. public: const int maxCount;//const속성 int& ref;//레퍼런스 타입 int sample; NeedConstructor();//여기까지 진행하면 원래 값이 무엇이 되든 100,200 이 되지만. NeedConstructor(int count, int& number);//두개의 인자가 있는 생성자를 추가했다.[이름은 같지만 함수는 다름.] }; NeedConstructor::NeedConstructor(int count, int& number) : maxCount(count), ref(number) { printf("인자 사용 생성자.. 더보기
생성자의 초기화 리스트 사용 예제 초기화가 필요한 멤버를 가진 경우. 생성자의 초기화 리스트를 사용하여 멤버 변수들을 초기화해야 초기화가 이루어진다. #include using namespace std; class NeedConstructor {//클래스 정의. public: const int maxCount; //const속성 int& ref; //레퍼런스 타입 int sample; NeedConstructor(); }; NeedConstructor::NeedConstructor() : maxCount(100), ref(sample) // 이 부분에서 정해주는것이 생성자의 초기화 리스트 이다. { sample = 200; } int main() { NeedConstructor cr; cout 더보기
뇌를 자극하는 C++ 프로그래밍 복사 생성자 Exercise 21-2 복사생성자 관련. 예제 코드.와 Exercise 21-2 #include using namespace std; class Point {//클래스 정의. public: int x, y;//멤버 변수 void print();//멤버 함수 Point();//생성자들 Point(int initialX, int initialY); Point(const Point& pt); //복사생성자 }; Point::Point(const Point& pt) { cout 더보기
뇌를 자극하는 C++ 프로그래밍 비타민 퀴즈 클래스의 경우에도 연쇄적인 대입 연산자 사용이 가능한가? 에 대한 코드. #include using namespace std; class Point { public: int x, y; void print(); }; void Point::print()//멤버함수를 밖에서 정의함. { cout 더보기