본문 바로가기
C++/STL

[C++] vector 값과 함께 초기화 하는 방법

by Warehaus 2021. 7. 8.

오늘 코드를 짜다가 간단히 정리할 거리가 떠올라서 퇴근후에 적어본다.

특정 조건문에서 vector 를 초기화 해야했고, 그 vector 에 들어갈 한개의 값을 가지고 있는 코드였다.

처음에는 아래와 같이 코드를 짰다.

int condition_a = 1;
string a = "I'm the first";

if ( condition_a == 1 )
{
    // vector 생성
    vector <string> my_list;

    // a를 삽입
    my_list.push_back( a );
    
    
    .....
}

그런데 가만 생각해보니.. 각종 변수들은 값과 함께 초기화 하는데
만들어놓고 push_back 하는 것은 여러모로 이상하다고 생각했다.

그래서 아래와 같이 코드를 바꿔 별도로 삽입하는 과정을 없앴다.

int condition_a = 1;
string a = "I'm the first";

if ( condition_a == 1 )
{
    // vector 생성
    vector <string> my_list { a };
        
    .....
}

상황에 따라 초기화 방법은 결정하면 될 것 같은데, 
이미 vector에 들어갈 값을 가지고 있는 경우라면, 그리고 그 값이 여러개라면,
vector를 값과 함께 초기화 하는 게  정리 된 코드를 만드는데 도움이 될 것이라 생각한다.

 

C++ Reference를 보면 더 다양한 방법이 있으니 참고해보자. 

javascript:switch1.select(3)