반응형 C++13 [C++] call by value/ call by pointer/ call by reference 함수 인자를 전달하는 방법 함수 인자를 전달하는 방법은 3가지가 존재합니다. - call by value (인수값을 복사하고 복사본을 전달합니다.) - call by pointer (인자의 주소를 전달합니다.) - call by reference ( 인자의 참조를 전달합니다.) Call by value 기본적으로 call by value는 인수값을 복사하고 복사본을 전달합니다. 호출자의 값은 호출 수신자의 변경사항에 반영되지 않습니다. 암시적(implicitly)으로 인수의 복사 생성자를 호출합니다. 다음 아래의 예시코드를 보겠습니다. #include void Add3(int y){ y +=3; } int main(){ int x = 1; std::cout 2023. 10. 28. [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. 이전 1 2 3 4 다음 728x90 반응형