C/C의 매크로 연결: 대안적 접근
C/C에서 매크로를 사용한 문자열 연결의 경우 대부분의 개발자는 본능적으로 전용 매크로 함수에 인수를 전달하는 방법을 사용합니다. 하지만 이 작업을 수행하는 더 직접적인 방법이 있습니까?
다음 예를 고려해 보세요.
#define STR1 "s" #define STR2 "1" #define STR3 STR1 ## STR2
여기서 목표는 STR1과 STR2를 연결하여 "s1"을 형성하는 것입니다. 전통적인 방법을 사용하여 다음을 수행할 수 있습니다.
#define CONCAT(x, y) x ## y #define STR3 CONCAT(STR1, STR2)
그런데 추가 기능 없이 이를 달성할 수 있는 방법이 있습니까?
직접 매크로 문자열 연결
C/C의 문자열에는 실제로 간단한 방법이 있습니다. 솔루션:
#define STR3 STR1 STR2
이 매크로는 다음으로 확장됩니다.
#define STR3 "s" "1"
C에서 "s" "1"과 같이 공백으로 문자열을 구분하는 것은 단일 문자열 "s1. "
결론
전통적인 방식에 매크로 함수는 다재다능하고 더 복잡한 경우를 처리할 수 있습니다. 여기에 설명된 직접적인 접근 방식은 매크로 확장을 사용할 때 문자열을 연결하는 편리하고 효율적인 방법을 제공합니다.
위 내용은 C/C 매크로는 도우미 함수 없이 문자열을 직접 연결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!