본문 바로가기

C++

포인터의 종류 앞서 사용한 int* 이라는 타입 이름은 int* 즉 int타입의 변수만 가리킬 수 있는 포인터 의 선언이다. 고로 int*로 설정했다면 int타입 이외의 변수를 포인터로 사용할 수 없다. 그렇다면 여기서 예시. 코드. 또한 unsigned int와 int 같은 사인이 다른 타입간도 선언이 불가능하다. ////////////////////////////////////////// #include using namespace std; int main() { int i = 300; int* pi = &i; char c = 'C'; char* pc = &c; float f = 700.5f; float* pf = &f; bool b = true; bool* pb = &b; short int s = 456; sho.. 더보기
흔하디 흔한 포인터의 개념 -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++ 프로그래밍 비타민 퀴즈 클래스의 경우에도 연쇄적인 대입 연산자 사용이 가능한가? 에 대한 코드. #include using namespace std; class Point { public: int x, y; void print(); }; void Point::print()//멤버함수를 밖에서 정의함. { cout 더보기