C++/Unmanaged C++ 강좌 노트5 [C++]인라인 함수 Udemy에서 C++ 언 매니지드 프로그래밍을 수강하면서 배운 내용을 정리한 것입니다. 예제 코드 int GetAge(const Cat* ptr) const { return ptr->mAge; } void Foo() { Cat myCat(2,"츄츄"); int myCatAge = myCat.GetAge(); } int main() { Foo(); return 0; } 앞서 설명되었 다시 피 함수는 호출되면서 스택의 공간을 할당받아 사용한다. main이 에서 Foo() 함수가 호출된다. myCat 개체를 위한 공간을 할당받는다. myCatAge 변수를 위한 공간을 할당받는다. myCatAge는 값을 받기 위해 myCat개체의 GetAge함수를 호출하면서 또 스택에 새로운 공간을 할당받는다. 그러면 이제 스.. 2023. 3. 4. [C++]Static(정적) 키워드 Udemy에서 C++ 언 매니지드 프로그래밍을 수강하면서 배운 내용을 정리한 것입니다. Static 키워드 범위(scope)의 제한을 받는 전역 변수 : 실행 도중 딱 하나만 존재하는 변수, 단 접근이 제한됨. 제한되는 범위는? 파일 속 네임스페이스 속 클래스 속 함수 속 static 혐오론자들이 존재하기는 함 OOP에 어울리지 않는다고 생각하는 분들. C++는 코드를 소스 파일 단위로 컴파일해서 나온 오브젝트 파일들을 링크 단계에서 서로 연결한다. 소스 코드 파일마다 정의된 이름은 외부 링크나 내부 링크를 통해 서로 연결된다. 외부 링크로 연결되면 다른 소스 파일에서 이름을 사용할 수 있다. 함수나 전역 변수는 기본적으로 외부 링크가 적용된다. 내부 링크(정적 링크)로 연결되면 같은 파일에서만 사용할 .. 2023. 3. 3. [C++]파일 입출력(I/O) Udemy에서 C++ 언 매니지드 프로그래밍을 수강하면서 배운 내용을 정리한 것입니다. 파일 입출력 ifstream 파일입력 ofstream 파일 출력 fstream 파일 입력 및 출력 파일 스트림에 > 조장자 (manipulaotr)등 도 쓸 수 있음 //읽기 전용으로 파일을 오픈 ifstream fin; fin.open("helloWorld.txt"); //Tm기 전용으로 파일을 오픈 (파일이 없으면 만듦) ofstream fout; fout.open("helloWorld.txt"); //읽기와 쓰기 범용으로 파일을 오픈 fstream fs; fs.open("helloWorld.txt"); open() 각 스트림마다 open() 메서드가 있음 fin.open("HelloWorl.txt",ios_bas.. 2023. 3. 1. [C++]std::string C++의 신 기능은 항상 우월한가? Udemy에서 C++ 언매니지드 프로그래밍을 수강하면서 배운 내용을 정리한것 입니다. std::istringstream std::cin과 비슷: 키보드 대신 string으로부터 읽어옴 sscanf()와 비슷 std::ostringstream std::cout와 비슷 : 콘솔 대신 string에 출력함 sprintf()와 비슷 cout, cin도 스트림이다. 하지만 자주 쓰이는 기능은 아님 현업에서 C++ 개발을 할때 , C 헤더를 써도 될까요? 현업의 C++ 애플리케이션에서는 여전히 성능 상의 이유로 많은 C 함수들을 사용. C C++ 그럼에도 std::string class는 정말 유용하다! 성능 이전에 문자 배열 길이에 대한 고민이 줄어들어 개발자의 실수로 인한 에러를 방지하는데 도움을 준다. 하지만.. 2023. 3. 1. [C++]bool과 참조 C++ 새로운 기능 Udemy에서 C++ 언매니지드 프로그래밍을 수강하면서 배운 내용을 정리한것 입니다. 초기 C++의 새로운 기능들 bool 데이터형 true / false 참조(refernce) 매우 중요. 성능 유지 하면서 값을 참조 개체(객체)지향 프로그래밍(OOP) C++의 새로운 기능들 C++ 표준 위원회 "너가 뭘 좋아하는지 몰라서 다 준비해 봤어" 많은 기능이 나왔지만, 쓰이지 않는 기능 또한 많다. C++의 진짜 전문가는 사용하지 말아야 할 기능을 아는 사람이다. Bool 데이터형 OLD // 만약 student가 아니면 if(IsStudent() == 0) { //... } // 만약 student라면 if(IsStudent() == ) // 2 &num 2 => 3 함수를 콜하면서 그림에서 나온것처럼 n.. 2023. 3. 1. 이전 1 다음