일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 컴퓨터비전
- Yes
- 소프트웨어공학
- 네트워크보안
- 자료구조
- 데이터과학
- 사이버보안
- 웹개발
- I'm Sorry
- 파이썬
- 데이터베이스
- 보안
- 딥러닝
- 소프트웨어
- 프로그래밍언어
- 인공지능
- 클라우드컴퓨팅
- 자바스크립트
- 2
- 네트워크
- 빅데이터
- 컴퓨터공학
- 프로그래밍
- 머신러닝
- 알고리즘
- 컴퓨터과학
- 데이터분석
- 버전관리
- 데이터구조
- 코딩
- Today
- Total
목록컴퓨터과학 (276)
스택큐힙리스트
그림 1: 함수 템플릿 TemplHeader.h template void f(); TemplCpp.cpp template void f(){ //... } //명시적 인스턴스화 template void f(); Main.cpp #include TemplHeader.h extern template void f(); //이것이 올바른 방법인가요? int main() { f(); return 0; } extern template를 사용하는 올바른 방법인가요, 아니면 그림 2와 같이 클래스 템플릿에만 이 키워드를 사용해야 하나요? 그림 2: 클래스 템플릿 TemplHeader.h template class foo { T f(); }; TemplCpp.cpp template void foo::f() { //... ..
내가 올바르게 이해한다면 이 의미는 다음과 같습니다. extern void foo(); 함수 foo가 다른 번역 단위에서 선언되었음을 의미합니다. 1) 이 함수가 선언된 헤더 파일을 #include하는 것이 왜 좋지 않은 건가요? 2) 링커는 링킹 시 함수를 어디에서 찾아야 하는지 어떻게 알까요? 편집: 아마도 위의 선언이 사용하는 함수를 따라온다는 것을 명확히 해야 할지도 모릅니다. foo(); 이 함수는 이 번역 단위에서 정의되지 않았습니다.답변 11) 헤더 파일이 없을 수도 있습니다. 그러나 일반적으로 대형 프로젝트에서는 여러 개의 번역 단위가 해당 함수를 사용할 경우 헤더 파일이 있어야 합니다 (중복을 피하세요). 2) 링커는 함수 및 다른 심볼을 찾기 위해 지정된 모든 개체 파일 및 라이브러리를..
extern과 const를 혼합할 수 있을까요, extern const는 가능한가요? 만약 가능하다면, const 한정자는 선언된 범위 내에서만 적용되는 것인가요 아니면 정확히 선언된 변환 단위와 일치해야 할까요? 예를 들어 실제 i가 상수가 아닌 경우에도 extern const int i;를 선언할 수 있을까요, 그 반대의 경우도 마찬가지로요?답변 1 예, 그들을 함께 사용할 수 있습니다. 네, 심지어 실제 선언이 있는 번역 단위와 정확히 일치해야 합니다. 물론 겉으로 보기엔 정상적인 C 프로그램이지만 의도적으로 오용이 일어날 수 있는 상황 에서 일부러 다르게 사용할 수도 있습니다. :-) 일반적인 패턴은 다음과 같습니다: file.h: extern const int a_global_var; file...