나는 전역 변수 (클래스의 객체)를 사용하고 다음과 같이 정의 :전역 변수를 정의하고 그 전역 변수를 초기화하는 것이 좋습니다.
//foo.h
extern class_name obj_name;
//foo.cpp
class_name obj_name("directory of a .ttf file");
내가 내 main() 함수가있는 내 MAIN.CPP에서 foo.h 포함되어 있습니다.
문제는 함수 내부에 없기 때문에 거기에서 초기화하는 것이 쉽지 않다는 것입니다. 그것은 열려 있습니다. 나는 객체를 초기화하는 "init()"함수를 호출하는 것을 선호했을 것이다 :
object_name = class_name(parameters);
main() 함수에서.
그러나 클래스는 제 3 자로 클래스 생성자에 매개 변수를 제공하지 않으면 생성되는 객체를 허용하지 않습니다. 어쩌면 기본 no-parameter 생성자가 없을 수도 있습니다.
위의 작업을 수행하는 것이 좋은 코딩 스타일입니까?
당신은 이미 두 가지 답변 세트를 얻고 있습니다 : (1) "전역 접근 가능 객체를 사용하는 것이 좋은 코딩 스타일입니까?", (2) "전역 접근 가능 객체를 사용할 것이라면, 네임 스페이스 범위에서 이니셜 라이저로 정의 할 수있는 좋은 코딩 스타일 "을 제공합니다. 당신이 그 질문 중 하나에 대한 답변에만 관심이 있다면, 다른 질문에 대한 답변에 깊이 빠져들기 전에 지금 가장 잘 말하십시오. –
실제로 두 질문에 대한 답변을 원합니다. – batman