|
짧은 C 지식으로 C++을 공부하고 있습니다만
주변에 물어볼 사람도 없고 혼자 하려니 많이 어렵네요.
몇가지 여쭙고자 합니다.
TTntStringList *FileList = new TTntStringList;
와 같은 코드에서
TTntStringList *FileList = new TTntStringList;
는 TTntStringList타입의 FileList라는 포인터변수를 선언하는것 이라고 알고있습니다.
TTntStringList 형이 int 형이나 char형 과 같이 정식으로 정해져있는 변수형인지요?
그 다음은.. FileList변수는 포인터변수로써 주소값이 들어가야 될 터인데
new TTntStringList 을 대입하고 있습니다.
찾아보니 new는 malloc과 비슷한 기능을 한다고 하는데
위 코드는 메모리에 TTntStringList 크기만큼 장소를 할당하여 그 할당된 장소의 주소를 FileList에 대입하는 것인지요?
그렇다면
TTntStringList List;
TTntStringList *FileList = &List;
라고 쓸 수는 없는지요?
TTntStringList 변수를 하나 생성해서 그 주소를 집어넣어도 될 것 같은데 이렇게 하지 않는 이유도 궁금합니다.
질문을 요약하면
1. TTntStringList 형이라는 정식 변수형이 있는지? 있다면 자세한 정보는 어디를 참조하면 되는지?
2. 코드를 분석하면 메모리에 임의의 TTntStringList 크기만큼 할당하여 이 할당된 주소값을 FileList에 넣는것인지?
3. TTntStringList 변수를 만들고 이 변수의 주소를 직접 집어넣지 않는 이유는 무엇인지?
입니다.
틀린 부분이나 잘못 이해하고 있는 부분이 있으면 지적과 함께 답변도 부탁드리겠습니다.
감사합니다.
|