반응형
Notice
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Yes
- 인공지능
- 데이터분석
- 네트워크보안
- 클라우드컴퓨팅
- 알고리즘
- I'm Sorry
- 딥러닝
- 컴퓨터비전
- 자료구조
- 버전관리
- 소프트웨어공학
- 보안
- 웹개발
- 프로그래밍
- 파이썬
- 자바스크립트
- 프로그래밍언어
- 데이터과학
- 네트워크
- 머신러닝
- 데이터구조
- 소프트웨어
- 컴퓨터과학
- 2
- 데이터베이스
- 빅데이터
- 코딩
- 사이버보안
- 컴퓨터공학
Archives
- Today
- Total
스택큐힙리스트
내가 나만의 CGRectZero와 같은 상수를 선언하는 방법은 무엇인가요? 본문
반응형
이것은 초보 C/Objective-C 질문입니다 :-)
CGRectOne과 CGRectTwo 상수를 원한다고 가정해 봅시다.
어떻게 선언할 수 있을까요?
감사합니다,
Jérémy
답변 1
다른 답변들은 괜찮습니다 - 어떤 경우에는 -.
A) static
으로 선언하면 각 번역본마다 복사본이 생성됩니다. 이것은 정확히 한 개의 번역본에서만 보이는 경우에는 괜찮습니다 (즉, 정의가 .m/.c 파일에 있을 경우). 그렇지 않으면, 정적 정의를 포함하는 헤더가 있는 모든 번역본에 복사본이 포함되어 이진 파일이 부풀어지고 빌드 시간이 증가할 수 있습니다.
B) const CGRect CGRectOne = {...};
은 선언된 범위에서 심볼을 생성합니다. 이 심볼이 여러 개의 번역에서 볼 수 있는 헤더인 경우 링크 오류가 발생할 수 있습니다 (CGRectOne
은 여러 번 정의되기 때문에 -- 예를 들어 상수가 정의된 헤더를 직접 또는 간접적으로 포함한 각각의 .c/.m 파일 별로).
이제 이러한 2개 선언을 사용할 맥락을 알았으므로, extern
방법을 다루겠습니다. extern
방법을 사용하면 다음을 수행할 수 있습니다:
- 헤더에서 상수 선언하기
- 다른 여러 번역에서 상수 사용하기
- 상수의 정의를 정확히 하나만 발행하는 동안
extern
접근 방식은 여러 파일에서 상수를 재사용하는 데 이상적입니다. 다음은 예제입니다.
File.h
// 헤더에서의 선언:
extern const CGRect CGRectOne;
File.c/m
// 정의:
#import File.h
const CGRect CGRectOne = { { 0.0f, 0.0f }, { 1.0f, 1.0f } };
참고: const
를 생략하면 전역 변수가 됩니다.
답변 2
내가 직접 CGRectMake(0, 0, 0, 0)와 같은 CGRectZero 상수를 선언하는 방법은 무엇일까요? 이 주제에 대해 SEO에 대응한 한국어 글을 작성해주세요.사각형 영역을 다룰 때 CGRect는 매우 유용한 데이터 타입입니다. CGRectZero 상수는 널 사각형 값을 나타내는 것으로, 사각형의 크기가 0인 경우에 간편하게 사용할 수 있습니다. 이제 CGRectZero와 같은 상수를 직접 선언하는 방법을 알아보도록 하겠습니다.
첫째로, CGRectZero와 동일한 기능을 하는 상수를 선언하기 위해 다음과 같은 코드를 작성할 수 있습니다.
```
let MyCGRectZero: CGRect = CGRect(x: 0, y: 0, width: 0, height: 0)
```
이 코드는 Swift 언어를 기반으로 하여 CGRect 타입의 MyCGRectZero 상수를 선언하는 것입니다. 이제 MyCGRectZero를 CGRectZero와 같은 방식으로 활용할 수 있습니다.
둘째로, 해당 상수의 이름에 대해 고민할 때, 일반적으로 Swift 언어에서 사용되는 네이밍 컨벤션을 따라야 합니다. 이는 코드를 읽기 쉽고 이해하기 쉽게 만들어줍니다. 상수 이름을 선택할 때, 기능을 명확하게 설명하기 위해 적절하고 구체적인 이름을 지어주는 것이 좋습니다.
예를 들어, CGRectZero 대신에 CGRectNull 또는 CGRectEmpty와 같은 이름으로 상수를 선언할 수도 있습니다. 이러한 이름은 CGRectZero와 동일한 의미를 가지고 있지만, 조금 더 명시적으로 사각형이 비어있음을 나타내도록 도와줍니다.
또한, 견고한 네이밍 컨벤션을 유지하면 SEO에도 도움이 됩니다. 코드 조각을 포함한 컨텐츠를 검색 엔진에서 노출할 때, 코드의 의미를 명확하게 전달하는 것은 중요합니다. 네이밍을 통해 관련 검색어에 대한 최적화가 이루어질 수 있습니다.
그러므로, CGRectZero와 같은 상수를 직접 선언하려면 앞서 언급한 방법을 따라서 코드를 작성하고, 기능을 잘 설명하는 이름으로 상수를 지어주는 것이 좋습니다. 이렇게 하면 코드를 읽기 쉽게 만들어 주고, SEO에도 도움을 줄 수 있습니다.
반응형
Comments