[C++] C#의 List 역할을 하는 vector

Posted at 2013.06.02 23:12 | Posted in 프로그래밍

작년에 이어 올해도 심심풀이로 정보올림피아드 경시대회에 참가했습니다. 그랬더니 이게 웬일. 지역 예선을 통과해버렸네! 예상치도 못한 결과에 부랴부랴 C++를 공부하고 있습니다. 본선 기출문제를 훑어봤는데 난이도가 장난이 아니더군요! 대학 전공서적에 있는 퀵 정렬을 써먹으라고 하질 않나, 빅오 표기법 들먹거리면서 프로그램 실행 시간에 제한을 두질 않나!

하여튼 MFC 애플리케이션 만들고 싶어 시작했으나 너무 길고 정리 안 되는 코드에 질려 포기한 C++를 처음부터 다시 차근차근 배워가며 모르는 것, C#과 비슷한 것을 간단하게 정리하려 합니다. 모르는 게 있으면 댓글로 질문하세요! 모르겠지만.

목표

문자열을 담는 컬렉션에 "므아", "아메", "메아", "아으"를 집어넣는다.


C#에서는 List 컬렉션을 이용해 작성하는 반면,

using System.Collections.Generic;
List<string> collection = new List<string>();
collection.Add("므아");
collection.Add("아메");
collection.Add("메아");
collection.Add("아므");

C++에서는 vector를 이용해 작성한다.

#include <string>
#include <vector>
vector<string> collection;
collection.push_back("므아");
collection.push_back("아메");
collection.push_back("메아");
collection.push_back("아므");

메모

  • printf("%s", collection[1]);를 실행하면 어떤 값이 나올까, 하니 답은 "아메"다. collection은 컬렉션, 모음집이지 char[]가 아니다!
  • char collection[100][100];은 길이가 100인 문자열을 100개 담을 수 있는 컬렉션이 아니다!

    회유

    06-03 생각해보니 char *collection[100];하면 문자열 100개를 담을 수 있는 컬렉션이 만들어질 것 같다.

    저작자 표시 비영리
    신고
  1. stl 자료구조 중 list도 기본으로 들어가있을텐뎅

Name __

Password __

Link (Your Website)

Comment