728x90
반응형

키워드 2

C++문법/ 프렌드, Friend 키워드

객체의 신뢰성과 객체지향의 원리에 따라 Encapsulation, Inheritance는 지켜져야 한다. 그러나 너무 엄격하게 상속이나 캡슐화로 비효율적인 경우도 있다. 이럴 때는 진짜 조그마한 예외를 두어 융통성을 늘릴 수 있게 했다. friend 키워드를 쓰면 특정 대상에 대해 모든 멤버를 공개할 수 있다. -> friend를 선언한 대상에게 내 모든 것을 공개한다는 말이다. 프렌드로 지정되면 액세스 지정자에 상관없이 모든 멤버를 읽을 수 있다. 프렌드는 전역 함수, 클래스, 멤버 함수의 세 가지 수준에서 지정한다. 차례대로 살펴보자 1. 외부 전역 함수 외부의 전역 함수를 프렌드로 지정할 때는 클래스 선언문 안에 원형을 밝히되 friend지정자를 붙인다. 예를 들어서 sub함수를 Some 클래스의 ..

C++ 문법 / typedef, using, auto, decltype, constexpr,

C++에서 우리가 조금 더 편의성을 가질 수 있게 하는 키워드들을 모아왔다. 알아보자 1. typedef typedef를 많이 썼다면 그것은 거의 구조체 만들 때 썼을 것이다. typedef를 선언해서 별명을 만든 것을 기억하는가? 해당 구조체가 이름으로도, 별명으로도 선언이 되어서 우리가 조금 더 짧게 쓰거나 편하게 호출할 수 있었다. **typedef는 새로운 자료형을 정의하는 것이 아니라 있던 자료형의 별명이다. 그러나 typedef는 비단 구조체에만 쓰이는 것이 아니었다. 열거체에도 쓰일 수 있다. 뿐만 아니라 사용자 정의 타입에도 다 쓰인다. 다만 암묵적인 규칙이 있다. typedef로 변환한 별명들에는 _t라는 접미사가 붙는다. 그래서 우리가 document를 볼 떄 _t가 있다면 유심히 보는..

728x90
반응형