반응형 분류 전체보기116 [C++] LHS변수와 RHS변수/const 활용(pointer const etc..) LHS와 RHS LHS는 left-hand-side 표현입니다. RHS는 right-hand-side 표현입니다. 예를 들어 x = 10이라고 할 때 LHS : x RHS : 10 이렇게 됩니다. C++ 메모리 모델안 basic 각각의 변수는 주소를 가집니다. &x (only in RHS) : 변수 x의 주소를 리턴합니다. &x : 0 &y : 4 x (in RHS) : 변수의 주소안 값을 할당합니다. x는 16을 리턴합니다. y는 99를 리턴합니다. x (in LHS) : RHS 값을 변수의 주소에 저장합니다. "x = 7" x주소 0에 7이 저장됩니다. "y = 88" y주소 4에 88이 저장됩니다. 위를 표시하면 다음 아래와 같이 됩니다. 포인터 (Pointers) 포인터 값은 주소를 가리킵니다. .. 2023. 10. 28. [C++] 네임스페이스(Namespace)를 사용하는 이유 네임스페이스(Namespace) 네임스페이스는 특정한 식별자(함수, 변수, 클래스)를 포함하는 코드지역을 뜻합니다. C++에서는 같은 식별자를 여러 번 선언/정의할 수 없습니다. 그렇지만 우리가 식별자를 여러번 사용하고 싶을 때가 있는데요. 네임스페이스는 식별자를 여러번 선언/정의하는 것을 허용합니다. 네임스페이스는 특정한 식별자를 가져야 합니다. 하지만, 식별자는 네임스페이스 전체에서 동일한 이름을 가질 수 있습니다. ★ main 함수는 네임스페이스가 될 수 없습니다. ★ 아래 예시코드를 보면서 더 구체적으로 설명하겠습니다. 예시코드 #include namespace ns1{ int value = 3; } namespace ns2{ std::string value("Hello World"); } int.. 2023. 10. 28. [C++] 클래스 안에서의 명명 규칙 클래스 이름은 파스칼(Pascal) 표기법을 사용해라 클래스 이름의 경우 파스칼 표기법으로 나타냅니다. Bad class Cat {...}; class Person {...}; class SeoulCity{...}; Good class cat {...}; class PERSON {...}; class seoul_city{...}; 멤버 변수의 이름은 뱀(Snake) 표기법을 사용해라 뱀(Snake) 표기법이란 "_"를 사용하는 것을 말합니다. 이 명명규칙은 지역 변수와 멤버변수를 구별하는데 사용합니다. Bad class Person{ int Age; std::string home_address; }; Good class Person{ int age_; std::string home_address_; };.. 2023. 10. 27. [C++] 선언(Declaration) VS 정의(Definition)/헤더파일과 소스파일 분리 + 예시코드 클래스 선언(Class declaration) 멤버 필드 선언은 이전과 같이 선언해야 합니다. 멤버 함수 선언의 경우 함수 선언에 있어 본문에 선언할 함수가 없어야 합니다. 함수 선언의 경우 다음의 구조를 따릅니다. ReturnType FunctionName(Parameters) 예시코드 #include #include class Animal{ Animal(std::string name); //멤버 함수 선언 void set_name(std::string name); //멤버 함수 선언 std::string name(); //멤버 함수 선언 private: std::string name_; }; 클래스 정의(Class definition) 선언이 진행된 뒤 선언과는 별도로 클래스에서는 클래스 멤버함수를 .. 2023. 10. 26. 이전 1 2 3 4 5 6 7 8 ··· 29 다음 728x90 반응형