소개
쥬신게임아카데미에서 10년 이상 강의를 하고 있는 "버거형" 입니다.
쥬신게임아카데미에서 수 많은 게임 개발자 지망생들을 교육해 왔으며 많은 국내 회사에 클라이언트 개발자로서의 성공적인 취업의 길을 열어주었습니다.
이제 "인프런"을 통해 더 많은 학생들을 만나고자 합니다.
게시글
질문&답변
2024.02.05
클래스의 개념과 구조체와의 비교 < 강의에서여
클래스 멤버 함수의 범위 적용 규칙이 있습니다. 이는 클래스 멤버 변수의 이름과 멤버 함수의 매개변수(인자 값) 이름이 같을 경우, 클래스의 멤버 변수는 멤버 함수의 지역 변수(매개변수 포함)들에게 가려진다는 것입니다. 우선 순위 기준 매개변수 > 멤버변수 입니다. 즉, 질문자님의 말씀대로 멤버변수의 이름도 iAtt, Initialize함수의 매개변수 이름도 iAtt이라면 멤버 변수는 매개변수에게 가려져서 Initialize함수 안에서 사용한 iAtt이란 이름은 이 함수의 지역변수(매개변수 포함)인 iAtt을 의미하게 됩니다. 다시 정리하면 함수를 호출하면서 매개변수로 할당된 iAtt이란 변수에 다시 매개변수인 iAtt의 값을 집어넣었다는 행위로 사실 의미가 없는 행위라고 볼 수 있습니다. 그래서 멤버 변수인 iAtt은 쓰레기 값이라 불리 우는 -858993460를 가지게 되는 것입니다. 즉, 멤버 변수인 iAtt에는 값을 채운 적이 없다라는 뜻이 되는 것입니다. (*this) 를 생략하고도 수행이 된다라는 행위가 위와 같은 혼란을 일으키기 때문에 가급적 멤버 변수에는 헝가리안 표기법을 통해 앞에 m(멤버)을 붙이기도 합니다. 즉, 멤버 변수는 miAtt이라고 이름을 지어 질문자님 말씀처럼 혼동이 올 수 있는 상황을 방지하기도 하지요. 추후 업데이트 할 내용으로서 초기화 목록 파트가 있는데 이 초기화 목록에서는 멤버와 매개 변수의 이름이 같아도 iAtt이란 이름을 정확히 멤버 변수와 생성자의 매개변수로 구분을 합니다. 이 부분은 추후 강의로 업데이트 해드리겠습니다^^ 개인 사 이지만 집이 상 중이었어서 빠른 답변 못 드린 점 죄송합니다! 도움이 되셨길 바랍니다^^
- 1
- 3
- 315
질문&답변
2024.01.24
컴파일러 셋팅 및 코딩의 시작에서
http://jusin.synology.me:5000/ 위의 주소로 접속하신 후, 아이디 jusin, 비밀번호 123456으로 로그인 하시면 됩니다^^
- 0
- 1
- 341
질문&답변
2024.01.16
c++ 다음 강의 계획이 궁금합니다.
현재 구상 로드맵은첫번째로. 기존 본 원 졸업생들의 경험을 바탕으로 한 클라이언트 개발자로서 취업하는데 있어 필요한 제반 지식들을 다루고자 합니다. 현재 강의 준비 및 녹화에 돌입한 상황입니다.두번째로. C++에서의 Template을 활용한 STL의 기초 개념과 응용을 고려해보고 있습니다.이와 함께 기존 오픈 했던 C++강의에서 추가할 사항들을 정리하여 추가 녹화를 진행하고 있는 중입니다. 이 내용은 현재 오픈 되어 있는 강의에 그대로 추가할 내용이기에 추가적 비용 없이 학습하실 수 있습니다^^최대한 빠르게 준비하여 학습에 도움이 되도록 하겠습니다. 감사합니다^^
- 0
- 1
- 326
질문&답변
2024.01.10
32:51초 질문입니다.
"C++20 표준"에 와서는 중괄호 초기화의 제한이 사라졌습니다.int* pArray = new int[2](1, 2); -----> C++20 표준 이후에서 초기화 가능 C++17 이하에선 불가능int iArray[2](1, 2) -----> C++20 표준 이후에서 초기화 가능. C++17 이하에선 불가능int* pArray= new int[2]{1, 2}; -----> 이전의 방식대로 여전히 초기화 가능.int iArray[2]{1, 2} -----> 이전의 방식대로 여전히 초기화 가능.이라고 정리해볼 수 있습니다!단, 일반 괄호를 통한 초기화는 유니폼 초기화와는 다르게 하강 변환을 허용하기 때문에 값이 잘리더라도 따로 컴파일 에러를 발생 하지는 않습니다.이원재님 말씀과 같이 배열을 중괄호를 통해 초기화하는 것도 당연히 허용되며 C++20부터 소 괄호를 통한 초기화도 지원 가능하다고 정리할 수 있을 것 같습니다. 이원재님 컴파일러에서 에러가 발생하는 이유는 컴파일러의 셋팅이 C++20을 사용하도록 설정되어있지 않기 때문입니다. 컴파일러 버젼을 최신으로 설치하셨더라도 설정은 C++14 표준일 확률이 높습니다.제 강의가 C++20의 문법도 사용하고 있기에 상위 버젼의 C++표준을 사용할 수 있도록 설정하시면 수강에 도움이 되실 겁니다.프로젝트 C++버젼 표준 설정 방법 : 비쥬얼 스튜디오 상단 메뉴 중 프로젝트 -> (프로젝트이름)속성 -> 구성 속성 -> C/C++ -> 모든 옵션을 클릭하시면 오른쪽에 많은 메뉴가 나오는데 상단 쪽에 위치한(처음 열면 중단에 스크롤 되어 있으므로 스크롤 위로 올리셔야 합니다! ) C++언어 표준을 클릭하시오 ISO C++20 표준으로 설정하시거나 Latest c++을 선택하셔도 됩니다! 답변이 수강에 도움이 되셨길 바랍니다!열공!
- 2
- 2
- 376