C++에서 매크로를 사용하지 않는 것이 좋습니다. 인라인 함수를 사용하여 함수와 유사한 매크로를 대체하고 constexpr/using을 사용하여 const-variable-define 매크로를 대체하십시오. 그러나 일부 현대적인 C++ 기술로 매크로 연결 기능을 대체 할 수있는 방법이 있는지 알고 싶습니다. 다음 매크로를 대체하는 방법을 예를 들어현대 C++ 기법으로 C++ 매크로 연결 바꾸기
:
#define GETTER_AND_SETTER(name) \
inline void Set##name(int value) \
{ \
m_##name = value; \
}
inline int Get##name() const \
{ \
return m_##name; \
}
는 수업 시간에, 나는 코드를보다 깨끗하게 만드는 많은 변수에 대해이 작업을 수행 할 수 있습니다.
GETTER_AND_SETTER(Variable1)
GETTER_AND_SETTER(Variable2)
GETTER_AND_SETTER(Variable3)
...
나는 here 및 here을 확인했다,하지만 난 대답을하지 않습니다. 이것에 대한 어떤 생각입니까? 감사합니다.
편집 : getters/setters의 예는 아이디어를 보여주기 위해 사용되었습니다. 제발 집중하지 마세요. :)
아니요, 방법은 없습니다 :) – wasthishelpful
문제는 당신이 당신의 수업을 getter와 setters가 필요한 데이터 덩어리로 취급한다는 것입니다. – StoryTeller
매크로를 사용하는 경우에만 새 식별자를 만들 수 있습니다. – Quentin