C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[74425] Re:Re:배열 초기화 방법과 TSpeedButton의 벡터 선언에 관해서 질문합니다.
빌더(TWx) [builder] 3770 읽음    2017-06-15 21:12
정성훈.해미 님이 쓰신 글 :
: 배열 초기화 처럼 하는 방법은 없으나
: 원하시는 방법이
: 일일이 16번 코딩 안하고
: 한번에 간단하게 매칭시키실려는거 같군요.
:
: 반복문을 써서 코딩하시면 조금 편하실 겁니다.
: FindComponent함수를 이용해서 디자인된 콤포넌트 이름을 찾는 방법을 써보세요.
:
:
:
: TSpeedButton *MOutputBtn[16];
: // ---------------------------------------------------------------------------
: __fastcall TManualFrame::TManualFrame(TComponent* Owner) : TFrame(Owner) {
:     for(int i=0; i<16; i++)    {
:         MOutputBtn[i] = (TSpeedButton*)FindComponent(UnicodeString().sprintf(L"SpeedButton%d", i+1));
:     }
: }
:
:
:
:
:
: hss9205 님이 쓰신 글 :
: : TSpeedButton *MOutputBtn[16];
: : // ---------------------------------------------------------------------------
: : __fastcall TManualFrame::TManualFrame(TComponent* Owner) : TFrame(Owner) {
: :    MOutputBtn[0] = SpeedButton1;
: :     MOutputBtn[1] = SpeedButton2;
: :     MOutputBtn[2] =  SpeedButton3;
: :     MOutputBtn[3] = SpeedButton4;
: : }
: :
: : 대충 이렇게 초기화를 했는대 이 방법 말고 배열을 한번 선언한 뒤에
: : MOutputBtn[] = {speedButton9, SpeedButton10,
: :         SpeedButton11, SpeedButton12, SpeedButton13, SpeedButton14,
: :         SpeedButton15, SpeedButton16}
: : 과 비슷한 방법으로 하고 싶은대 이개 안되내요
: :
: : 그래서 유사한 방법을 알고 싶습니다.
: :
: : 그리고 TSpeedButton은 벡터로 선언이 안되는 모양인것 같은대 맞나요?



답변:


array를 초기화 하려면 array 선언/정의시에 해야 하는 거지만...

컴파일러가 C++11을 지원하면 vector를 이용해서 루프 이용하지 않고 아래와 같은 식으로 코딩할 수 있어요.


std::vector<TSpeedButton *>arrayButtons;

Foo::Foo()
{
    ....
    arrayButtons.assign({speedBtn1, speedBtn2, speedBtn3});  // C++11, member initialization list

}

간단하죠?

사용할 땐...

arrayButtons[0]->Text = L"Hello";

+ -

관련 글 리스트
74422 배열 초기화 방법과 TSpeedButton의 벡터 선언에 관해서 질문합니다. hss9205 3578 2017/06/15
74423     Re:배열 초기화 방법과 TSpeedButton의 벡터 선언에 관해서 질문합니다. 정성훈.해미 3578 2017/06/15
74425         Re:Re:배열 초기화 방법과 TSpeedButton의 벡터 선언에 관해서 질문합니다. 빌더(TWx) 3770 2017/06/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.