728x90
반응형

C++ 2

멤버 초기화 리스트

c++ 관련 코드를 보던 중, 특이한 문법을 발견했다.예를 들어, 다음과 같은 코드였다.class Calc{ int ref;public: Calc() : ref(0) { // 생성자 본문 }}; 나는 평소에 생성자 본문에서 멤버 변수(여기서는 ref)를 초기화 시켰는데,여기서는 아마도 멤버 변수의 초기화로 보이는 부분("ref(0)")이 생성자 옆에 들어간 것이다. 멤버 초기화 리스트이런 문법을 "멤버 초기화 리스트(Member Initialization List)"라고 부른다.클래스의 멤버 변수를 생성자 본문(body)에 들어가기 전에 초기화하는 방법이다.멤버 초기화 리스트는 생성자가 실행되기 이전에 실행되므로, 생성자 본문이 실행되기 전에 멤버 변수를 초기화한다. 멤버 초기화 ..

CS/C++ 2024.12.20

[c++ 문법] friend

알고리즘 문제를 풀다가, 친구 배열이란 의미로 friend 배열을 선었했다.그런데 계속 'friend' used outside of class라는 compile error가 발생했다...처음에는 이해가 안 되고,,,그냥 처음 softeer에서 코딩해보는거라 거기가 이상한줄알았던,,,ㅋㅋㅋㅋ아무튼 c++에는 friend라는 키워드가 존재한다! 어떤 클래스에서 private이나 protected로 제한을 걸어둔 부분에 대해 특정 클래스에서만 접근 가능하도록 하는 것이 friend이다. A클래스에서 private int a를 선언하고, friend로 B 클래스를 선언하면나중에 B클래스에서도 a에 대한 함수를 선언하고 참조 가능하다는 의미. 새로운 지식을 또 알게되어 신기하다😄

CS/C++ 2024.06.11
728x90
반응형